3

在 jQuery 中,deferred.then添加了要在 Deferred 对象被解析或拒绝时调用的处理程序。

deferred.then( doneCallbacks, failCallbacks )
  • doneCallbacks — 一个函数或函数数组,当 Deferred 被解析时调用。
  • failCallbacks — 当 Deferred 被拒绝时调用的函数或函数数组。

在以下示例中,这些“完成”和“失败”回调函数的参数是什么?

它是否取决于 Deferred 对象的类型?例如:

$.when({testing: 123})
  .then(function(x){ ... }); 

$.when($.getJSON('foo'))
  .then(function(x){ ... });

'x' 会有不同的值吗?

4

1 回答 1

2

Done fallbacks 和 fail fallbacks 分别由Deferred调用resolveWith()和的创建者调用rejectWith();这些函数采用的两个参数被传递给回调。所以它完全取决于创建Deferred对象的函数的类型。(上下文通常但不一定是Deferred对象本身。)

于 2011-04-26T21:26:07.867 回答