最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

异步函数包含在promise与sync函数中

IT培训 admin 3浏览 0评论

异步函数包含在promise与sync函数中

所以我一直想知道这是否有任何好处。我将在下面举例说明。

包含在Promise中的异步函数:

(async () => {
    await new Promise((resolve, reject) => {
        fs.writeFile(filePath, dataToWrite, (error) => {
            if (error) {
                reject(error);
                return;
            }
            resolve();
        });
    });
})();

同步功能:

(() => {
    fs.writeFileSync(filePath, dataToWrite);
})();

我从光读中得知的唯一一点就是同步函数调用会阻止进程直到完成。因此,例如,具有api端点的Web服务器将无法在同步功能完成之前处理这些请求。包含在promise中的异步函数也是如此吗?如果两者之间有任何差异,可以给出解释吗?

回答如下:

同步函数调用阻止该过程直到完成。

是。

包含在promise中的异步函数也是如此吗?

不,这是异步处理的重点。

await只会“阻止”特定async function代码的执行,直到等待的承诺结束,但其他一切将继续运行。

异步函数包含在promise与sync函数中

所以我一直想知道这是否有任何好处。我将在下面举例说明。

包含在Promise中的异步函数:

(async () => {
    await new Promise((resolve, reject) => {
        fs.writeFile(filePath, dataToWrite, (error) => {
            if (error) {
                reject(error);
                return;
            }
            resolve();
        });
    });
})();

同步功能:

(() => {
    fs.writeFileSync(filePath, dataToWrite);
})();

我从光读中得知的唯一一点就是同步函数调用会阻止进程直到完成。因此,例如,具有api端点的Web服务器将无法在同步功能完成之前处理这些请求。包含在promise中的异步函数也是如此吗?如果两者之间有任何差异,可以给出解释吗?

回答如下:

同步函数调用阻止该过程直到完成。

是。

包含在promise中的异步函数也是如此吗?

不,这是异步处理的重点。

await只会“阻止”特定async function代码的执行,直到等待的承诺结束,但其他一切将继续运行。

发布评论

评论列表 (0)

  1. 暂无评论