我知道阻止代碼在node.js
中不鼓勵,因爲它是單線程的。我的問題是詢問在某些情況下阻止代碼是否可以接受。何時在node.js中阻止代碼可接受?
例如,如果我正在運行需要連接MongoDB的Express網絡服務器,在數據庫連接建立之前阻止事件循環是否可以接受?這是假設所有由Express服務的頁面都需要數據庫查詢(如果MongoDB未初始化,這將會失敗)。
另一個例子是在初始化之前需要配置文件內容的應用程序。在這種情況下,使用fs.readFile
而不是fs.readFileSync
有什麼好處?
有沒有辦法解決這個問題?將所有代碼封裝在回調中,還是承諾最好的方法?這與以上例子中的阻塞代碼有什麼不同?
謝謝!這是我想知道的。 – WillS