从父承诺中解决一系列承诺

2023-11-26

这是我第一次尝试嵌套承诺。我正在使用bluebird库,但我认为所有承诺库的想法都是相同的。

从高层次来看,这就是我正在尝试做的事情:

myService.getSomeData(url)
 .then((data) => {
   myOtherService.getMoreData(data.uniqueId)
   .then((thisDataIsAnArray) => {
      //loop over the data above and do something
   });
 });

getMoreData()应该进行 X 个服务调用并将结果存储在 X 个元素长的数组中。这就是我开始迷失的地方,因为我不确定如何制作这个方法以及我应该从中返回什么。我在蓝鸟那里尝试过几次Promise.all and Promise.map但我正在挣扎并认为我会征求建议。


Return all the promises!

承诺只是返回值您附加回调,而不是将回调传递到函数中。除非您返回所有这些,否则回调将无法链接或捕获所有错误。

另外,从所有返回.then'就是你有了另一个承诺的那一刻。这使事情变得扁平化。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从父承诺中解决一系列承诺 的相关文章

随机推荐