并行创建承诺
Creating Promises in Parallel
只是尝试使用 es6 和 promises。
有什么方法可以使用 promises 并行执行多个任务吗?
我想一次启动多个操作,并使用 Promise 创建一个新的 promise,当它的所有输入 promise 都被解析时,这个新的 promise 将被解析。
如果传入的承诺中的none失败新承诺将成功;否则,它将因最后一个错误而失败。
我对 promises 的了解是 - 如何创建 promises 并链接它们。
let promise = new Promise(function(resolve, reject) {
// do a thing, possibly async, then…
if (/* everything turned out fine */) {
resolve("Successfully completed!");
}
else {
reject(Error("Error occurred!"));
}
});
promise.then(function(result) {
console.log(result); // "Successfully completed!"
}, function(err) {
console.log(err); // Error: "Error occurred!"
});
您正在寻找Promise.all
const p1 = Promise.resolve(1)
const p2 = Promise.resolve(2)
const p3 = Promise.resolve(3)
const p4 = Promise.all([p1, p2, p3])
p4.then(values => console.log(values)) // [1, 2, 3]
只是尝试使用 es6 和 promises。
有什么方法可以使用 promises 并行执行多个任务吗?
我想一次启动多个操作,并使用 Promise 创建一个新的 promise,当它的所有输入 promise 都被解析时,这个新的 promise 将被解析。
如果传入的承诺中的none失败新承诺将成功;否则,它将因最后一个错误而失败。
我对 promises 的了解是 - 如何创建 promises 并链接它们。
let promise = new Promise(function(resolve, reject) {
// do a thing, possibly async, then…
if (/* everything turned out fine */) {
resolve("Successfully completed!");
}
else {
reject(Error("Error occurred!"));
}
});
promise.then(function(result) {
console.log(result); // "Successfully completed!"
}, function(err) {
console.log(err); // Error: "Error occurred!"
});
您正在寻找Promise.all
const p1 = Promise.resolve(1)
const p2 = Promise.resolve(2)
const p3 = Promise.resolve(3)
const p4 = Promise.all([p1, p2, p3])
p4.then(values => console.log(values)) // [1, 2, 3]