我正在寻找at this article关于异步/等待
。它包含以下内容:
Sometimes, you only want to trigger an asynchronous computation and are not interested in when it is finished. The following code is an example:
async function asyncFunc() { const writer = openFile('someFile.txt'); writer.write('hello'); // don’t wait writer.write('world'); // don’t wait await writer.close(); // wait for file to close }
我感兴趣的是,在这种特殊情况下,如果没有异步函数调用的 await
,函数将如何进行。在这种特殊情况下。那么有人可以使用 Promise 重写上面的示例,以便我可以更好地理解发生了什么吗?
编辑
据我了解,可以这样重写:
async function asyncFunc() {
const writer = openFile('someFile.txt');
writer.write('hello'); // don’t wait
writer.write('world'); // don’t wait
return writer.close().then(()=>{
});
}
谢谢
最佳答案
async function asyncFunc() {
const writer = openFile('someFile.txt');
writer.write('hello'); // don’t wait
writer.write('world'); // don’t wait
return writer.close();
}
ES2015:
function asyncFunc() {
const writer = openFile('someFile.txt');
writer.write('hello'); // don’t wait
writer.write('world'); // don’t wait
return writer.close();
}
假设,是writer.close();始终返回一个 promise ,并且调用者不会使用解析值。
关于javascript - 当异步函数的某些内部异步函数在没有等待的情况下被调用时,异步函数的行为如何,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44196181/