###前提・実現したいこと
javascript(jquery) ```引数に配列にしたメソッドを渡すと、中身の同期・非同期処理の有無に関係なく配列のメソッドごとに同期をとりながら処理を行うメソッドを作りたいと思っています。 ###発生している問題・エラーメッセージ
今のところ引数側のコールバック内でDeferredにresolveすることで一応同期処理はできていますが、
処理に複数の非同期処理があった場合、メソッド利用側で判断が必要になり利便性が下がることや
引数側に複雑な処理を行うことが難しいので、Deferredに関する処理をメソッド側だけで自動化したいです。
###該当のソースコード ```ここに言語を入力 function _runDfdFuncArray(funcArray, recursive) { if (recursive) funcArray.shift(); if (funcArray.length == 0) return false; var promise = funcArray[0](); $.when(promise).done(function() { _runDfdFuncArray(funcArray, true); }); } var options = [ function(){ var dfd = $.Deferred(); setTimeout(function(){ console.log("d1"); dfd.resolve(); },2000); return dfd; }, function(){ var dfd = $.Deferred(); setTimeout(function(){ console.log("d2"); dfd.resolve(); },2000); return dfd; }, function(){ var dfd = $.Deferred(); setTimeout(function(){ console.log("d3"); dfd.resolve(); },2000); return dfd; } ]; runDfdFuncArray(options);
###試したこと
###補足情報(言語/FW/ツール等のバージョンなど)
回答1件
あなたの回答
tips
プレビュー