当一些内部异步函数在没有等待的情况下被调用时,异步函数如何表现

时间:2017-05-26 07:39:52

标签: javascript async-await

我正在at this article关于async/await。它包含以下内容:

  

有时,您只想触发异步计算   什么时候结束都不感兴趣。以下代码是   例如:

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异步函数调用insdide ,我对函数如何进行感兴趣。那么有人可以使用promises重写上面的例子,这样我就可以更好地理解发生了什么吗?

修改

据我了解,它可以像这样重写:

async function asyncFunc() {
    const writer = openFile('someFile.txt');
    writer.write('hello'); // don’t wait
    writer.write('world'); // don’t wait

    return writer.close().then(()=>{

    });

}

由于

1 个答案:

答案 0 :(得分:2)

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,并且调用者不会使用分辨率值。