Javascript 等待几个异步函数,但在其中一个函数完成后继续

Javascript 等待几个异步函数,但在其中一个函数完成后继续,javascript,node.js,asynchronous,Javascript,Node.js,Asynchronous,我正在尝试编写一个函数,它使用两种算法进行搜索。main函数应该同时调用两个主要算法函数,但在其中一个函数完成后继续。它还应该停止其他函数的运行 我目前有一个如下设置的输入功能: async function entry(code) { let [ product_algorithm_1, product_algorithm_2 ] = await Promise.all([ get_info_algorithm_1(code), get_info_al

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

我目前有一个如下设置的输入功能:

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()
。当其中一个呼叫已解决时,它将返回。了解更多关于

异步函数项(代码){ 让乘积_算法_最快=等待承诺.race([ 获取信息算法1(代码), 获取信息算法2(代码) ]) }
值得注意的是,返回的值将是“最快”的承诺值

可能是
promise.race
是您的决定吗?