Javascript 我可以使用多个';等待&x27;在异步函数中';我们试一试吧?

Javascript 我可以使用多个';等待&x27;在异步函数中';我们试一试吧?,javascript,asynchronous,Javascript,Asynchronous,i、 e 给定的method1()和method2()是异步函数。每个等待方法是否应该有一个try/catch块?有没有更干净的方法来写这个?我试图避免“.then”和“.catch”链接。使用一个包含多个wait操作的try/catch块是可以的 await操作符存储其父async函数的执行上下文并返回事件循环。await运算符在使用其操作数的已设置状态和值回调时继续执行 在恢复时,await恢复先前保存的执行上下文,并返回操作数承诺的已实现值,作为await表达式的结果,或抛出被拒绝操作数的

i、 e


给定的method1()和method2()是异步函数。每个等待方法是否应该有一个try/catch块?有没有更干净的方法来写这个?我试图避免“.then”和“.catch”链接。

使用一个包含多个
wait
操作的try/catch块是可以的

await
操作符存储其父
async
函数的执行上下文并返回事件循环。
await
运算符在使用其操作数的已设置状态和值回调时继续执行

在恢复时,
await
恢复先前保存的执行上下文,并返回操作数承诺的已实现值,作为
await
表达式的结果,或抛出被拒绝操作数的拒绝原因


try/catch
块调用在保存和还原之前和之后都是执行上下文的一部分。因此,多个
wait
操作不会干扰它们共享的外部
try
块的行为。调用
catch
块时,将给出被拒绝的
try
块中等待的任何承诺的拒绝原因。

这取决于您是否需要
catch
执行不同的操作,具体取决于导致错误的函数。一次尝试/一次抓住往往是好的。你是否尝试过以下方法?我觉得这篇文章很有帮助。除其他方面外,它还涉及这种用法的含义。
async asyncfunction(){
  try{
    await method1();
    await method2();
  }
  catch(error){
    console.log(error);
  }
}