传播Promise并在新Object中扩展

时间:2016-04-11 15:37:36

标签: javascript promise lodash

我有一些Promise让我回到了对象。

现在我想将它们合并/扩展为新的Object,因此我使用Lodash's extend

var whenEverythingIsDone = Promise.all([firstPromise, secondPromise, ...])
                          .spread(_.extend);

现在我遇到的问题是我没有将新对象扩展为firstPromise。

我测试了这个,

var whenEverythingIsDone = Promise.all([{}, firstPromise, secondPromise, ...])
                          .spread(_.extend);

它尽我所能。

这是一个很好的解决方案吗?

可能有错误吗?

2 个答案:

答案 0 :(得分:1)

它会正常工作,Promise.allPromise.resolve所有数组项和空对象都没问题。

虽然明确使用partial application我会觉得更干净:

var whenEverythingIsDone = Promise.all([firstPromise, secondPromise, …])
                           .spread(_.partial(_.extend, {}));

答案 1 :(得分:0)

我喜欢它!非常干净和简洁......如果没有任何承诺解决到除了对象之外的东西,我不会预见到任何问题