1. 程式人生 > >對Node.js的異步機制的思考

對Node.js的異步機制的思考

同步 多層 async syn 條件 機制 api 數據庫 詳細

Node.js的異步機制是其最大的特色,異步可以應對高並發,具有很好的性能。

但是如果在某個方法裏,涉及到數據庫的多層查詢,異步機制反而成為阻礙。當執行完第一層SQL後,根據所得的結果集(rows)進行結果集進行遍歷時,每次遍歷的結果作為where條件再執行下一層SQL時,下一層及以後的SQL並不會執行,而是在結果集(rows)遍歷到最後時,才執行下一層SQL。

這時,若SQL只有兩三層,其實倒還好,可以合並SQL;但是SQL層數多了之後,這種異步機制卻是最大的阻礙。
這時,就需要用到Node.js的同步模塊(async)。具體如何進行操作,Node.js的官方API有詳細說明。我在這就不一一敘述了。

對Node.js的異步機制的思考