私が使用しているシステムは同期ajax呼び出しのみを行うように設計されているため、回避策を探しています。まず、関数にラップされたajax呼び出しがあります。次に、別の関数でラップして、配列に追加するときに実行されないようにします。だから私は非同期のajax呼び出し関数の2つの配列を持っています。私は最初の配列のすべてを実行し、すべてが完了するまで待っています。私は2番目の配列ですべてを実行したいと思います。これは私が今まで持っているものです関数でラップされたAjax呼び出しの配列を実行する方法が必要です
私はアイテムを通過するループを持っています。私はすでにラップされたajaxコールを取り込んで、実行されずに配列に格納される各アイテムのラップ関数を持っています以下のように
var postpromises = [];
var WrapFunction = function (fn, context, params) {
return function() {
fn.apply(context, params);
};
}
var postPromise = WrapFunction(ajaxFunction, this, [{
url: url,
data: j,
async: true,
type: 'POST',
success: function (data) {
//success
},
error: function (xhr, textStatus, errorThrown) {
//error
}
}]);
postpromises.push(postPromise);
私は検証のために同じコードを持っています。だから私は、次のページに移動する前に、私は
$.when.apply(undefined, postpromises).then(function() {
console.log();
$.when.apply(undefined, validatepromises).then(function() {
console.log();
});
});
を以下している問題は、私は上記のコードを取得する場合、私のpostpromises
のどれもにも実行されませんしてしまうことがありますので、私はここで何かが欠けすることができるような気がします。
のアイデア?
WrapFunctionは約束を返しません – Vanojx1
その理由は実行されていない可能性がありますか? – Monzingo