如何跳过前 2 个 promise rest 来解决
How to skip first 2 promise rest to resolve
如何跳过前 2 个 promise rest 来解析
const p1 = Promise.resolve(21);
const p2 = 110470116021;
const p3 = 'This promise to resolve';
const p4 = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Resolve');
}, 1000);
});
Promise.all([p1, p2, p3, p4]).then(values => {
console.log(values);
});
I would like to skip first two promise and wanted to get rest promises
result how can i do that please guide
Output should be (2) ["This promise to resolve", "Resolve"] instead
(4) [21, 110470116021, "This promise to resolve", "Resolve"]
嗯,也许只是
Promise.all([p1, p2, p3, p4]).then(([r1, r2, r3, r4]) => {
console.log([r3, r4]);
});
? p1
和p2
自然还是会被执行,但是它们的值不会被使用。
当获取值时对其进行解构,只接受你想要的承诺。
var promise1 = Promise.resolve(3);
var promise2 = 42;
var promise3 = new Promise(function(resolve, reject) {
setTimeout(resolve, 100, 'foo');
});
Promise.all([promise1, promise2, promise3]).then(function([p1, p2, p3]) {
console.log(p3);
});
// expected output: Array ["foo"]
要建立在 AKX 的答案之上,您还可以将 rest
运算符与解构结合使用,以在前 2 个之后创建每个已解决承诺的迭代,如下所示:
Promise.all([p1,p2,p3,p4,p5]).then(([discarded1,discarded2,...rest]) => {
console.log(rest); // [p3 result, p4 result, p5 result]
})
如何跳过前 2 个 promise rest 来解析
const p1 = Promise.resolve(21);
const p2 = 110470116021;
const p3 = 'This promise to resolve';
const p4 = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Resolve');
}, 1000);
});
Promise.all([p1, p2, p3, p4]).then(values => {
console.log(values);
});
I would like to skip first two promise and wanted to get rest promises result how can i do that please guide
Output should be (2) ["This promise to resolve", "Resolve"] instead (4) [21, 110470116021, "This promise to resolve", "Resolve"]
嗯,也许只是
Promise.all([p1, p2, p3, p4]).then(([r1, r2, r3, r4]) => {
console.log([r3, r4]);
});
? p1
和p2
自然还是会被执行,但是它们的值不会被使用。
当获取值时对其进行解构,只接受你想要的承诺。
var promise1 = Promise.resolve(3);
var promise2 = 42;
var promise3 = new Promise(function(resolve, reject) {
setTimeout(resolve, 100, 'foo');
});
Promise.all([promise1, promise2, promise3]).then(function([p1, p2, p3]) {
console.log(p3);
});
// expected output: Array ["foo"]
要建立在 AKX 的答案之上,您还可以将 rest
运算符与解构结合使用,以在前 2 个之后创建每个已解决承诺的迭代,如下所示:
Promise.all([p1,p2,p3,p4,p5]).then(([discarded1,discarded2,...rest]) => {
console.log(rest); // [p3 result, p4 result, p5 result]
})