【发布时间】:2020-09-02 07:56:08
【问题描述】:
我创建了将被多次调用的通用函数,并且该函数是 async/await 类型的。
const storeData = async () => {
await User.create({name: "Test 123"})
}
现在,如果我想在许多不同的函数中异步调用函数 storeData,我是在它前面加上 await 调用它(下面的选项 1)还是因为它内部有 async await,所以将作为异步函数运行并且前面不需要等待(下面的选项2)?
(注意:我可以做一些变通方法,让 storeData 返回一个新的 Promise,然后在 Promise 中做一些事情,并确保 await 真的很重要。)
选项 1。
async dummy1() {
await storeData();
...rest of thte code
}
选项 2。
async dummy2() {
storeData();
...rest of the code
}
【问题讨论】:
-
"我可以做一些变通方法并让 storeData 返回一个新的 Promise" -
storeData已经确实返回了一个承诺,因为你做到了async函数。这意味着如果您希望...rest of the code在该承诺履行后运行,您需要在调用前放置一个await。
标签: javascript asynchronous async-await