如何在其他函数中异步调用异步/等待函数?

时间:2020-05-16 12:52:54

标签: javascript asynchronous async-await

我创建了一个通用函数,该函数将被多次调用,并且该函数是异步/等待类型。

const storeData = async () => {
   await User.create({name: "Test 123"})
}

现在,如果我要在许多不同的函数中异步调用函数storeData,我应该在它的前面(选项1下方)用await调用它,或者因为它内部具有async await,它将作为异步函数运行,并且不需要在前面等待(选项2在下面)?

(注意:我可以变通方法,使storeData返回一个新的Promise,然后在promise中执行操作,并确保 await 确实很重要。)

选项1。

async dummy1() {

   await storeData();

   ...rest of thte code

}

选项2。

async dummy2() {

   storeData();

   ...rest of the code

}

1 个答案:

答案 0 :(得分:0)

在javascript中,所有异步函数都与返回诺言的常规函数​​相同。 async只是语法糖。因此,如果在函数调用之前使用await,则该函数调用将阻止执行,并且如果您不使用await,它将按您的期望异步运行。

了解更多here