NodeJsには、非同期作業の作成に役立つ多くのテクニック/ライブラリがあります。ノード非同期ライブラリ、NodeJs標準呼び出し(setImmediate/setTimeout/nextTick)を使用して約束します。サーバー側のアプリケーションに関連して(非同期、setImmediate、約束などを使用して)ネスト非同期呼び出しがある場合のメリット
、時々私は、このようなコードに実行:あなたが見ることができるように
function doWork() {
async.parallel([work1func, work2func],
(err, result) => { doSomthingWithTheResult(); }
}
function work1func(cb) {
doSomeStuff1();
async.series([moreWork1, moreWork2…], cb);
}
function work2func(cb) {
doSomeStuff2();
async.series([moreWork3, moreWork4…], cb);
}
、work1Func、work2Func内としてasync.seriesを使用して他の関数への非同期内部呼び出しもありますよく(async.parallelまたは他の非同期メカニズムであった可能性があります)。
Q:ネストされた非同期呼び出しのメリットはありますか?一番上の呼び出しがasyncなのはなぜ非同期に呼び出されているのですか?
誰かが説明してもいいですか(例を挙げてください)、ここでいくつかのルールを教えてもらえますか?非同期呼び出しを非同期呼び出し内に入れ子にする必要があるときと、ただ1つの非同期呼び出しで十分であるとき。
動作を変更せずに、ネストされた呼び出しなしでこれをどのように記述しますか? 'async.parallel'と' async.series'は別のことを行います - 前者は同時に機能し、後者は次々に機能します。 –
ネストされたコールを1回の呼び出しで削除したくありません。私はちょうど内部の非同期呼び出しを疑うことがあります。代わりにdoWork()を呼び出すwork1func()(これは非同期呼び出しを行いません)がmoreWork1()を呼び出し、その後moreWork2()が呼び出されます。 – Mercury