开发者问题收集

Promise 未按预期顺序运行

2020-03-23
72

我确信我在这里遗漏了一些简单的东西,我有一堆需要按顺序运行的承诺。 在此示例中,函数 4 在函数 3 完成之前运行。 此处调用的所有函数都返回一个承诺。

await self.function1()
  .then(await function () {
    self.function2()
  })
  .then(await function () {
    return self.function3()
  })
  .then(await function () {
    return self.function4()
  })
1个回答

应该是这样的,您应该使用 async-awaitPromise.then 之一>

async function test() {
    await self.function1();
    await self.function2();
    const response1 = await self.function3();
    const response2 = await self.function4(response1);
    return response2;
}

function test() {
    return self.function1()
        .then(() => self.function2())
        .then(() => self.function3())
        .then((response1) => self.function4(response1));
}
Vishnudev Krishnadas
2020-03-23