0
async.each
のネストされた問題が発生しています。なぜ私は正しくコールバックを配置しています。ネストされたasync.each: "エラー:コールバックは既に呼び出されていました"
checkDefaultOverlap: function(default_shifts, done) {
async.each(default_shifts, function(default_shift, next) {
var subarray = default_shifts.slice(default_shifts.indexOf(default_shift) + 1, default_shifts.length - 1);
async.each(subarray, function(default_shift2, next) {
default_shift.week_days.map(function(day1) {
default_shift2.week_days.map(function(day2) {
if (day1 === day2 &&
default_shift.start <= default_shift2.end && default_shift2.start <= default_shift.end)
next({error: 'The shifts overlap!'});
});
});
next();
}, function(err) {
if (err) next(err);
else next(null);
});
}, function(err) {
if (err) return done(err);
else return done(null);
});
}
}
本当にありがとうございます。
あなたはヘラーをコールバックしているうわー、あなたのコードをリファクタリングし、より読みやすくしてください男 – jesusgn90
あなたは、内側 'async.eachを()'削除して、ループまたはの宣言型バージョンに置き換えることができます第一ステップとして、ループ。 – zatziky