多个 Promise 中的任何一个完成后继续执行 (JavaScript)

我现在正在编写一个打字稿不和谐机器人,但这个问题与打字稿或不和谐.js 无关。不过,我将使用机器人的参考来解释它:


我有一个机器人,一旦用户单击反应或在聊天中发送“我同意”,就需要触发一些命令。一旦其中任何一个为真,就应该执行下一个命令。以下是一些背景信息:


//We already have two functions that we can await for each event (clicks checkmark or responds)

//We can use them using await, because we are in an async function


async function run(){


await clickCheckmark() || respond()

send('hi');

}

这种语法行不通,但是有没有行得通的语法呢?


Helenr
浏览 90回答 1
1回答

拉丁的传说

Use Promise.race(),它接受一组 Promise 并返回一个 Promise,该 Promise 会解决或拒绝(以先发生的为准):async function run() {    await Promise.race([clickCheckmark(), respond()]);    send('hi');}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript