传播 Promise 并在新对象中扩展
Spread Promise and extend in a new Object
我有一些 Promise 可以返回对象。
现在我想 merge/extend 将它们变成一个新对象,因此我使用 Lodash's extend。
var whenEverythingIsDone = Promise.all([firstPromise, secondPromise, ...])
.spread(_.extend);
现在我遇到了一个问题,我没有创建一个新对象只是扩展了 firstPromise。
我测试了这个,
var whenEverythingIsDone = Promise.all([{}, firstPromise, secondPromise, ...])
.spread(_.extend);
据我所知它有效。
这是一个好的解决方案吗?
会不会有错误?
我喜欢!非常简洁明了...如果 none 的 promise 解析为对象以外的其他东西,我预计不会有任何问题
它会正常工作,Promise.all
会 Promise.resolve
所有数组项和空对象都没有问题。
虽然显式使用 partial application 我会发现它更干净:
var whenEverythingIsDone = Promise.all([firstPromise, secondPromise, …])
.spread(_.partial(_.extend, {}));
我有一些 Promise 可以返回对象。
现在我想 merge/extend 将它们变成一个新对象,因此我使用 Lodash's extend。
var whenEverythingIsDone = Promise.all([firstPromise, secondPromise, ...])
.spread(_.extend);
现在我遇到了一个问题,我没有创建一个新对象只是扩展了 firstPromise。
我测试了这个,
var whenEverythingIsDone = Promise.all([{}, firstPromise, secondPromise, ...])
.spread(_.extend);
据我所知它有效。
这是一个好的解决方案吗?
会不会有错误?
我喜欢!非常简洁明了...如果 none 的 promise 解析为对象以外的其他东西,我预计不会有任何问题
它会正常工作,Promise.all
会 Promise.resolve
所有数组项和空对象都没有问题。
虽然显式使用 partial application 我会发现它更干净:
var whenEverythingIsDone = Promise.all([firstPromise, secondPromise, …])
.spread(_.partial(_.extend, {}));