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
块中。请参见此示例:-错误会在整个函数调用链中传播。