-1

私はノードjsを使用しており、コードコントローラー、サービス、DAOに3つのレイヤーがあります。実行フローはコントローラーから Service を介して DAO までであり、再び制御が DAO から Controller に戻ります。出力を変数に設定するDAOレイヤーにはコールバック関数があります。しかし、問題は、制御がコントローラーに戻った後にコールバック関数が実行されていることです。変数の出力として未定義を取得することで終了します。これは、ノードが非同期であるためです。

このフローを変更して、最初のコールバック関数が実行を完了し、次に制御が DAO からサービスおよびコントローラーに戻るようにする方法はありますか。

4

2 に答える 2

0

開始点として、非同期ライブラリを試してみることをお勧めします: https://github.com/caolan/asyncまたは "npm install async"。あなたが望むのは async.series() のように思えます。これにより、特定の一連のコールバックを順番に実行するように構造化できるため、プログラムの流れをより細かく制御できます。ここでの良いチュートリアル: http://www.sebastianseilund.com/nodejs-async-in-practice

于 2013-08-05T13:45:40.433 に答える