gpt4 book ai didi

javascript - 过滤拒绝的 promise

转载 作者:搜寻专家 更新时间:2023-10-31 23:29:57 24 4
gpt4 key购买 nike

我有一组 Promise 对象,我想在其中映射并过滤被拒绝的 Promise。

预期输出:

const promises = [
failedPromise,
successPromise,
successPromise,
];

const resolvedPromises = promises.map(promise => ???);

resolvedPromises 变量应该包含两个 successPromise promise 的输出。

我将如何实现这样的算法?

最佳答案

您无法以同步方式检查标准 promise ,因此您无法按其解析状态过滤数组。但是您可以使用 Promise.all 来获取已解析值的列表。这里有一个如何处理拒绝的小技巧:

const promises = [
Promise.resolve(1),
Promise.reject(2),
Promise.resolve(3)
];

const FAIL_TOKEN = {};

const resolvedPromises = Promise.all(
promises.map(p => p.catch(e => FAIL_TOKEN))
).then(
values => values.filter(v => v !== FAIL_TOKEN)
);

resolvedPromises.then(values => console.log(values));

关于javascript - 过滤拒绝的 promise ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38646792/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com