我正在编写一个实现延迟的小脚本,并遇到了一些与我期望的 Javascript 不同的代码。
var dfd = $.Deferred()
, view = $.get("filename.tmpl");
$.get("filename.json")
.always(function (model) {
dfd.resolve(model);
});
$.when(view, dfd)
.done(function (view, model) {
// do stuff with view - even if there is no model
});
这很好用,但是当我对此进行重构时,它会停止工作:
var dfd = $.Deferred()
, view = $.get("filename.tmpl");
$.get("filename.json").always(dfd.resolve);
$.when(view, dfd)
.done(function (view, model) {
// do stuff with view - even if there is no model
});
我看不出有任何理由不应该这样做。该函数期望第一个参数是模型或未定义。