【发布时间】:2016-05-17 15:51:03
【问题描述】:
我有一些基本上看起来像这样的代码:
let foos = ['foo', 'foo', 'foo'];
let bars = foos.map(foo => new Promise(resolve => resolve(foo + ' processed')));
function f(foo, bar) { '...' };
如您所见,f() 需要 foo 和 bar 参数。问题是bar 是Promise。如果f() 只需要bar,我会这样做:
Promise.all(bars).then(values => values.map(f));
但是,f() 需要由Promise 产生的bar 值及其匹配的非承诺foo,所以我不确定编写此代码的最佳方法是什么?
【问题讨论】:
-
你的
bars承诺永远不会得到解决? -
@Bergi:哎呀,已编辑。
标签: javascript promise ecmascript-6 es6-promise