簡體   English   中英

包裝在promise與同步功能中的異步功能

[英]Async function wrapped in promise vs. sync function

所以我一直想知道這樣做是否有好處。 我將在下面給出示例。

包裝在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代碼的執行,直到等待的承諾成立為止,但其他所有操作將繼續運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM