2013-08-05 42 views
-1

我正在使用節點js,並且在我的代碼Controller,Service,DAO中有三層。執行流程是通過服務從控制器到DAO,再次控制從DAO返回到控制器。 DAO層中有回調函數,它們將輸出設置爲變量。但問題是控制回到控制器後回調函數正在執行。即時通訊得到一個未定義爲我的變量輸出。這是因爲Node是一個異步。節點Js中的回調函數問題?

有沒有辦法改變這個流程,以便第一個回調函數完成執行,然後控制從DAO返回到服務和控制器。

+2

Node.js的整個想法是異步的。所以甚至不要試圖解決這個問題,並更好地調整你的設計。 – Krumelur

回答

0

您必須傳遞代碼的各個部分,這些部分應在DAO內容完成後作爲DAO層的回調完成。這通常看起來有點難看,但它是node.js(異步)方式,有時稱爲「callback hell」。如果您需要更多信息,請提供一些您想要做的事情的代碼示例。