Node非同期コントローラAync
1662 ワード
nodejs
は非同期の書き方に基づいていますが、データベースを調べたら前の関数の戻り値をパラメータにしなければならない場合があります.前にappiを書く時に私がfor循環検索データベースが必要になりました.そして配列の中に置いて、先端に戻ります.最後にAsync
.GitHubアドレスを使いました.Ayncをインストールする
npm install async
シリアルには関連がありませんいくつかの関数や方法は順次実行しますが、彼らの間には連絡がなく、ファイルを書きたいです.書き終わったら、ユーザーのようにメールを送ります.この両者の間には必然的な連絡はありませんが、ファイルを作成してからメールを送る必要があります.asyncにはこの流れを実現する方法があります.コードは下記の通り実現されます.
var async = require('async');
console.time('series');
async.series({
one: function(callback) {
callback(null, 'one');//callback('i am err','one');
},
two: function(callback) {
callback(null, 'two');
},
}, function(error, result) {
//
console.log('error: ' + error);
console.log('result: ' + result);
console.timeEnd('series');
});
シリアルに関連があります複数の関数または方法が実行され、各ステップの実行には前のステップの結果が必要です.パラメータとしてはシリアル待ちがあります.asyncにはwaterfallがあります.このシーンを実現できます.
var async = require('async');
console.time('waterfall');
async.waterfall([
function(callback) {
callback(null, 'one');
},
function(onearg, callback) {
callback(null, onearg + '>>>two');
},
function(twoarg, callback) {
callback(null, twoarg + '>>>three');
},
function(threearg, callback) {
callback(null, threearg + '>>>four');
}
], function(error, result) {
console.log('error: ' + error);
console.log('result: ' + result);
console.timeEnd('waterfall');
});
引き続き勉強中です