在保持执行顺序和数据流的同时结合两个承诺?

时间:2018-04-14 16:48:43

标签: javascript node.js promise

我有两个承诺 promise1,解析为一个对象数组 promise2,创建多个文件,然后写入它们,使用promise1中的数组解析为是否成功的布尔值。

执行如下: 1.解决第一个承诺我得到的对象数组说arr1。 2.在promise1的then()之后,我继续根据对象数组arr1创建一个promises数组,其中每个promise都解决了文件写入的成功。

现在,我希望在将两者解析为布尔值后返回一个承诺。

2 个答案:

答案 0 :(得分:0)

  

在promise1的then()内部,我继续创建一个promises数组

只需在该数组上使用Promise.all,并returnthen回调中获得承诺。

然后then()调用将返回布尔结果数组的承诺(来自每个文件),您可以在其上链接另一个then回调,将这些回调组合成一个布尔值。

答案 1 :(得分:0)

你可以使用await作为第一个(如果你感觉舒服),f.e:

const magicArray = await magicHappens();

然后,如果您愿意,可以使用上述Promise.all([]);或如果您有很多承诺,请使用async.mapLimit()

相关问题