gpt4 book ai didi

javascript - 等待多个异步函数,但在一个完成后继续

转载 作者:行者123 更新时间:2023-11-29 17:34:17 28 4
gpt4 key购买 nike

我正在尝试编写一个使用 2 种算法进行搜索的函数。主函数应同时调用两个主要算法函数,但在一个完成后立即继续。它还应该停止其他功能的运行。

我目前有一个像这样设置的入口函数:

async function entry(code) {

let [ product_algorithm_1, product_algorithm_2 ] = await Promise.all([
get_info_algorithm_1(code),
get_info_algorithm_2(code)
])

// Here I would check which variable is not empty, and display the results
}

这工作正常,但问题是它在继续之前等待两个函数完成。我试图在一个完成后继续,并删除其他进程。有谁知道如何实现这一点?

最佳答案

您正在寻找的是 Promise.race()。当其中一个调用已解决时,它将返回。在 MDN 上了解更多信息.

async function entry(code) {

let product_algorithm_fastest = await Promise.race([
get_info_algorithm_1(code),
get_info_algorithm_2(code)
])
}

值得注意的是,返回值将是“最快”的 promise 值

关于javascript - 等待多个异步函数,但在一个完成后继续,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58661122/

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