我有几个异步函数正在运行。我想等他们都完成后再采取下一步行动。这是我用来从中获取所有键/值chrome.storage
和Promise.all()
实现的代码。
var promise1 = Promise.resolve(3);
var promise2 = 42;
var promise3 = new Promise(function(resolve, reject) {
setTimeout(resolve, 100, 'foo');
});
var getAll = chrome.storage.sync.get(function(result) {
console.log(result)
});
Promise.all([promise1, promise2, promise3, getAll]).then(function(values) {
console.log(values); // [3, 42, "foo", undefined]
});
不幸的是,这不起作用。它返回undefined
。
上面的大部分代码都取自这里的 MDN:https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/all