gpt4 book ai didi

javascript - 一旦第一个 promise 解决,就停止 promise 执行

转载 作者:数据小太阳 更新时间:2023-10-29 06:15:29 25 4
gpt4 key购买 nike

我正在使用 ES6 promises,这个函数的想法是遍历一组链接,并为每个链接查找一个图像并在找到图像后停止。

在我编写的函数的这种情况下,最快的 promise 已解析,其他 promise 继续执行,因此我想要的是在第一个 promise 解析后立即停止执行剩余的 promise。

scrapImage(links) {
let promises = links.map((l) => getImageUrlAsync(l));
return Promise.race(promises);
}

最佳答案

promise 不会“执行”。它们是返回值,而不是函数。 promise 不是任何函数返回的控制面。听起来您想取消 getImageUrlAsync(),所以我会在任何 API 中寻找取消 API。

如果没有这样的取消 API,您能做的最好的事情就是在 promise 数组上执行 Promise.race,正如您正在做的那样。正如其他人所指出的,当事情并行进行时,可能已经来不及记忆其他发起的行动了。

关于javascript - 一旦第一个 promise 解决,就停止 promise 执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35991815/

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