Javascript 异步函数不是按顺序调用的
我有三个异步函数:Javascript 异步函数不是按顺序调用的,javascript,asynchronous,async-await,ecmascript-2017,Javascript,Asynchronous,Async Await,Ecmascript 2017,我有三个异步函数: getAccounts = async () => { try { const result = await someAsyncJob(); ... } catch(err) { ... } } getPages = async () => { try { const result = await someAsyncJob(); ...
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”、“GetDepositorList”的函数。我需要按顺序调用这些函数,因此我编写了如下代码:
getData = async () => {
try {
await getAccounts();
await getPages();
await getDepositList();
}
catch(err) {
...
}
}
从本文()开始,它必须按顺序工作,但当我运行它时,它们一起被调用,我的所有逻辑都被弄乱了
如何按顺序运行这些函数?如果执行看到等待,则只有在承诺得到解决或拒绝后才应继续执行,因此应按顺序执行。我希望您也在等待getData()?如果执行过程中看到等待,则只有在承诺得到解决或拒绝后,它才应该继续,因此应该按顺序执行。我希望您也在等待getData()?不,getData函数是从普通函数调用的。啊,是的,这不应该是一个问题,很抱歉混淆了。是什么让你认为它们是“一起”调用的呢?哦,我是说。在wait之后,我调用了它们内部的每个函数,这就是它们调用random的原因。它正在工作,谢谢。不,getData函数是从普通函数调用的。啊,是的,这不应该是一个问题,抱歉混淆了。是什么让你认为它们是“一起”调用的呢?哦,我是说。在wait之后,我调用了它们内部的每个函数,这就是它们调用random的原因。它正在工作,谢谢。一个不相关的指针:您不必将每个
wait
表达式包装在try/catch
块中。请参见此示例:-错误在整个函数调用链中传播。一个不相关的指针:您不必将每个wait
表达式包装在try/catch
块中。请参见此示例:-错误会在整个函数调用链中传播。