异步函数包含在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
代码的执行,直到等待的承诺结束,但其他一切将继续运行。