异步函数不是按顺序调用的
Async Functions are not invoked sequentially
我有三个异步函数:
getAccounts = async () => {
try {
const result = await someAsyncJob();
...
}
catch(err) {
...
}
}
getPages = async () => {
try {
const result = await someAsyncJob();
...
}
catch(err) {
...
}
}
getDepositList = async () => {
try {
const result = await someAsyncJob();
...
}
catch(err) {
...
}
}
在这里,我有名为 "getAccounts"、"getPages"、"getDepositList" 的函数。我需要依次调用这些函数,所以我写了这样的代码:
getData = async () => {
try {
await getAccounts();
await getPages();
await getDepositList();
}
catch(err) {
...
}
}
从本文(https://medium.com/@peterchang_82818/asycn-await-bible-sequential-parallel-and-nest-4d1db7b8b95c)开始,它必须按顺序工作,但是当我运行这个时,它们一起调用,我的所有逻辑都搞砸了。
我如何 运行 按顺序执行这些功能?
如果执行遇到等待,它应该只在 promise 被解决或拒绝后继续,因此它应该是顺序的。我希望你也做 await getData()?
我有三个异步函数:
getAccounts = async () => {
try {
const result = await someAsyncJob();
...
}
catch(err) {
...
}
}
getPages = async () => {
try {
const result = await someAsyncJob();
...
}
catch(err) {
...
}
}
getDepositList = async () => {
try {
const result = await someAsyncJob();
...
}
catch(err) {
...
}
}
在这里,我有名为 "getAccounts"、"getPages"、"getDepositList" 的函数。我需要依次调用这些函数,所以我写了这样的代码:
getData = async () => {
try {
await getAccounts();
await getPages();
await getDepositList();
}
catch(err) {
...
}
}
从本文(https://medium.com/@peterchang_82818/asycn-await-bible-sequential-parallel-and-nest-4d1db7b8b95c)开始,它必须按顺序工作,但是当我运行这个时,它们一起调用,我的所有逻辑都搞砸了。
我如何 运行 按顺序执行这些功能?
如果执行遇到等待,它应该只在 promise 被解决或拒绝后继续,因此它应该是顺序的。我希望你也做 await getData()?