updateFunc?=?function(i,?contexts,?values)?{????
return?function(value)?{????
contexts[i]?=?this;????
values[i]?=?arguments.length?>?1???core_slice.call(arguments)?:?value;????
//?處理中,派發(fā)正在處理事件????
if?(values?===?progressValues)?{????
deferred.notifyWith(contexts,?values);????
//?成功,并且最后剩余的異步任務為0了????
}?else?if?(!(--remaining))?{????
//?說明所有任務都成功了,派發(fā)成功事件出去????
//?事件包含的上下文是當前任務前邊的所有任務的一個集合????
deferred.resolveWith(contexts,?values);????
}????
};????
},
//?deferred[resolveWith?|?rejectWith?|?notifyWith]?調(diào)用的是?Callbacks?里的?fireWith?方法????
//????
deferred[tuple[0]?+?"With"]?=?list.fireWith;
list.fireWith?的第一個參數(shù)contexts可以是個數(shù)組嗎?這個到最后的實現(xiàn)apply,都沒看到對contexts數(shù)組分解的處理,不理解
//?list[?firingIndex?].apply(?data[?0?],?data[?1?]?)?是最終的執(zhí)行回調(diào)的方法????
if?(list[firingIndex].apply(data[0],?data[1])?===?false?&&?options.stopOnFalse)?{????
memory?=?false;?//?To?prevent?further?calls?using?add????
break;????
}
2018-07-31
我知道了,contexts參數(shù)和values參數(shù)在list.fire里面根本就沒有用到
2018-07-31
list.fireWith?的第一個參數(shù)contexts可以是個數(shù)組嗎?這個到最后的實現(xiàn)apply,都沒看到對contexts數(shù)組分解的處理,不理解?