У меня есть некоторый код, который в основном выглядит следующим образом:Составления Обещания и без Обещания значения
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()
требует как значение bar
в результате Promise
и его соответствие не-обещание foo
, так что я не уверен, что это лучший способ, чтобы закодировать это ?
Вашего ' обещания баров никогда не разрешаются? – Bergi
@ Bergi: Упс, отредактирован. –