[英]Proper way of chaining RSVP promises
所以我有一个函数data.people()发送和http请求并接收数据,因此我正在使用promises,并且此函数返回一个promise。 之后,我使用以下链接
data.people()
.then(function() {
....
}, function(err) {
console.error(err);
}).then(function() {
...
}, function(err) {
console.error(err);
}).then ...
所以我写的是正确的,是因为我找不到任何纪录片,并且当我在第三个承诺中将eventListener附加到具有给定id的一个元素上时,它会在第二个承诺执行之前执行(在此元素更改为另一个具有相同ID的文件),并且在第三个承诺(我需要的地方)中不起作用。 这是我在jsfiddle中的完整代码。
是的,您正在撰写作品,但远非最佳。
没有理由将.then
链链接起来.then
除非您从其中一个返回了诺言,在这种情况下,它将等待异步操作完成。
您的代码可以简化为:
data.people().then(function(people){
//rest of code here
});
既然您那时都没有回报承诺。
不返回一个承诺承诺将继续到下一个.then
几乎瞬间。
另外,如果您执行链处理程序,并且想在以后的.then
调用中访问返回值,则必须从该.then
处理程序中返回数据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.