有谁知道如何在函数中隐藏异步await
?
编辑,因为我似乎不清楚。
我想要做的是将await包装在函数内部,因此主外部函数看起来不像异步代码: asyncFunction :异步功能。 hideAsync :一个包装函数,无需在主代码中添加“await”关键字。 运行:看起来像线性函数的主代码。
希望这次我明确表示: - /
var someSome = {};
someSome.wait = ms => new Promise(resolve => setTimeout(resolve, ms));
someSome.asyncFunction = async (el) => {
await someSome.wait(1000);
alert("step 1");
}
someSome.hideAsync = async function(){
await someSome.asyncFunction();
alert("step 2");
}
someSome.run = async function(){
someSome.hideAsync();
alert("step 3");
}
someSome.run();
答案 0 :(得分:1)
如果我理解您的要求,您想知道是否可以在函数调用中执行异步操作而不使用前面的await
关键字并且仍然等到该呼叫完成后再转到下一行。
答案是否定的,需要通过await
或其他方式.then()
明确处理异步操作。你绝对可以在没有await
或.then()
的情况下调用异步函数,但执行将不等待操作完成,它会立即继续到下一行。
了解异步操作在JavaScript中至关重要,因为它们始终存在。它们不能被忽略并被视为同步函数。使用await
尽可能接近,并且很多比以前使用回调地狱或.then()
更清洁。