在jQuery中,deferred.then添加了在解析或拒绝Deferred对象时调用的处理程序。
deferred.then( doneCallbacks, failCallbacks )
以下示例中这些“完成”和“失败”回调函数的参数是什么?
它取决于Deferred对象的类型吗?例如:
$.when({testing: 123})
.then(function(x){ ... });
$.when($.getJSON('foo'))
.then(function(x){ ... });
对'x'有不同的值?
答案 0 :(得分:2)
分别由Deferred
调用resolveWith()
和rejectWith()
的创建者调用完成后备和失败后备;这些函数采用的两个参数传递给回调。所以它完全取决于创建Deferred
对象的函数的类型。 (上下文通常但不一定是Deferred
对象本身。)