![](/img/trans.png)
[英]asynchronous function does not wait until called asynchronous function was executed in nodejs/javascript
[英]NodeJS: Who does the asynchronous work when a async function is called?
我將用例子解釋我的問題。
fs.readFile('somefilename', function(err, data) {
...doSomething...
});
當執行這行代碼時, readFile
將開始讀取該文件。 成功或失敗時,此回調將被推送到隊列中以使用適當的參數執行。
讀取文件是asynchronously
發生的,但是如果NodeJS是單線程的,非阻塞的,那么誰在做呢?
用戶代碼在單個線程中執行。 但是,幕后的nodejs使用libuv / libio來處理任何使用線程的io。
https://github.com/libuv/libuv
有趣的帖子:
單線程非阻塞IO模型如何在Node.js中工作
node.js是否在內部使用線程/線程池?
為什么Node.js是單線程的?
我自己會向你解釋這個,但是這個視頻可以更好地解釋Javascript事件循環。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.