javascript - 当异步函数的某些内部异步函数在没有等待的情况下被调用时,异步函数的行为如何

标签 javascript async-await

我正在寻找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/

相关文章:

JavaScript execCommand ("HiliteColor") 取消高亮

javascript - 如何将自定义图标添加到 Angular2 primeng Tree

javascript - 从外部 Javascript 文件访问数据

node.js - 合并多个异步/等待调用的结果

c# - 什么是创建可等待函数的正确方法

javascript - jquery提交表单重定向

javascript - jquery load() 未加载内容

c# - 如何使 HttpContext 在同步调用的任务中可用?

c# - 如何将从异步函数抛出的异常传播到等待的 async void 函数?

javascript - 返回 promise 的数组