为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Helenr 2023-10-14 11:14:27
我现在正在编写一个打字稿不和谐机器人,但这个问题与打字稿或不和谐.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 functionasync function run(){await clickCheckmark() || respond()send('hi');}这种语法行不通,但是有没有行得通的语法呢?
查看完整描述

1 回答

?
拉丁的传说

TA贡献1789条经验 获得超8个赞

Use Promise.race(),它接受一组 Promise 并返回一个 Promise,该 Promise 会解决或拒绝(以先发生的为准):


async function run() {

    await Promise.race([clickCheckmark(), respond()]);

    send('hi');

}


查看完整回答
反对 回复 2023-10-14
  • 1 回答
  • 0 关注
  • 77 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信