Questions tagged «jquery-chaining»

3
什么时候应该使用jQuery deferred的“ then”方法,什么时候应该使用“ pipe”方法?
jQuery的Deferred两个功能可用于实现功能的异步链接: then() deferred.then( doneCallbacks, failCallbacks ) Returns: Deferred doneCallbacks解析Deferred时调用的一个函数或函数数组。 failCallbacks拒绝Deferred时调用的一个函数或函数数组。 pipe() deferred.pipe( [doneFilter] [, failFilter] ) Returns: Promise doneFilter解析延迟时调用的可选函数。 failFilter拒绝Deferred时调用的可选函数。 我知道then()比pipe()这要长一些,因此后者必须增加一些额外的好处,但是到底有什么不同是我所不知道的。两者都使用几乎相同的回调参数,尽管它们的名称不同,并且返回a Deferred和返回a 之间的差异Promise似乎很小。 我已经读过一遍又一遍的官方文档,但总是觉得它们太“密集”,以至于无法真正绕开我的脑袋,搜索已经找到了很多关于一个功能或另一个功能的讨论,但是我还没有发现任何可以真正阐明不同之处的东西。各自的优缺点。 那么什么时候使用then更好pipe?什么时候使用更好? 加成 Felix的出色回答确实有助于阐明这两个功能的不同之处。但我想知道是否有时会比的功能then()更受欢迎pipe()。 显然,pipe()它的功能比强大then(),而且似乎前者可以做任何事,后者可以做。使用的一个原因then()可能是其名称反映了其作用,即终止处理相同数据的功能链的作用。 但是,是否有一个用例需要then()require返回由于返回新值而Deferred无法完成的原始操作?pipe()Promise
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.