如何解决$q.all() - 不按顺序返回的响应
我有一系列按以下顺序排列的承诺:
promises = [promise1,promise2,promise3,promise 4,promise5];
我尝试通过以下方式检索回复:
$q.all(promises).then(function f(responses) {
console.log(responses);
});
并希望返回的响应按以下顺序:
response1,response2,response3,response4,response5
但有时返回的响应顺序是随机的:
response1,response5,response3
$q.all() 方法是否不维护返回响应的顺序?
如果 $q.all() 没有,是否还有其他方法可以保持返回的响应顺序?不想使用链式承诺,因为我的承诺可能是一个很长的清单..
提前致谢!!
解决方法
事实上,$q.all() 不保持返回响应的顺序。如果提供的一个或多个承诺被拒绝,它只会触发拒绝,或者如果/当所有提供的承诺都得到解决时触发解决方案。
该 API 中没有其他方法来维护承诺列表中的响应顺序。
promise 链的通用实现是可能的,但非常复杂。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。