【发布时间】:2020-03-30 13:33:58
【问题描述】:
在我的遗留代码中,我使用了 jQuery 的 $.when().then() 模式。在此期间,两个 Web 调用并行运行。在第一个中,我现在需要事先访问一些额外的数据。我基本上试图通过使完成的处理程序异步并等待该网络调用来实现这一点。这是一个简化的示例:
$.when(
firstCall().done(async function(outerData) {
let innerData = await anotherWebCall();
doSomeOtherStuff(outerData, innerData);
console.log('first call finished');
}),
secondCall().done(() => doSomethingElse())
).then(function() {
console.log('everything finished');
});
我希望,我会首先在控制台中看到“第一次通话完成”,然后是“一切都完成”。然而,情况恰恰相反。我该如何解决?
【问题讨论】:
标签: javascript jquery async-await .when