我显然误解了 js Promise的解决方式或“返回”的语义。
我被一个期望我同步的函数调用 - 返回一个值。计算该值需要一些异步代码(特别是dstore 集合上的 ForEach 方法
我试图完成的大约是这样,但这不起作用,因为函数 mySynchronousFunction 没有返回值。
function mySynchronousFunction() {
var accumulator = {};
var myPromise = doAsynchronousThingThatSideEffectsAccumulator();
// Now my caller is expecting the value of accumulator.
myPromise.then(function() {return accumulator;})
}
我知道 JS 必须允许单线程实现,所以阻塞并不酷,但必须有一些模式将异步代码粘合到同步代码,我刚刚错过了。