我有一些Promise让我回到了对象。
现在我想将它们合并/扩展为新的Object,因此我使用Lodash's extend。
var whenEverythingIsDone = Promise.all([firstPromise, secondPromise, ...])
.spread(_.extend);
现在我遇到的问题是我没有将新对象扩展为firstPromise。
我测试了这个,
var whenEverythingIsDone = Promise.all([{}, firstPromise, secondPromise, ...])
.spread(_.extend);
它尽我所能。
这是一个很好的解决方案吗?
可能有错误吗?
答案 0 :(得分:1)
它会正常工作,Promise.all
会Promise.resolve
所有数组项和空对象都没问题。
虽然明确使用partial application我会觉得更干净:
var whenEverythingIsDone = Promise.all([firstPromise, secondPromise, …])
.spread(_.partial(_.extend, {}));
答案 1 :(得分:0)
我喜欢它!非常干净和简洁......如果没有任何承诺解决到除了对象之外的东西,我不会预见到任何问题