# deferred.resolveWith()

所属分类：延迟对象 英文文档：deferred.resolveWith()

## deferred.resolveWith( context [, args ] )返回: Deferred

描述: 解决Deferred（延迟）对象，并根据给定的 `context`和`args`参数调用任何完成回调函数（doneCallbacks）。

- #### 添加的版本: 1.5deferred.resolveWith( context [, args ] )

  - context
    类型: Object
    Context（上下文） 作为 `this`对象传递给完成回调函数（doneCallbacks）。
  - args
    类型: Array
    传递一个可选的参数数组给完成回调函数（doneCallbacks）。

通常只有延迟对象的创建者才可以调用该方法。你可以通过调用 `deferred.promise()`，返回一个受限的 Promise 对象，来阻止其它代码改变延迟对象的状态或报告它的状态。 通常情况下，只有一个Deferred（延迟）的创建者，应调用此方法;你可以防止其他代码改变Deferred的状态或者通过`deferred.promise()`返回一个受限制的承诺对象来报告状态

当延迟对象被 resolved 时，任何通过 `deferred.then`或`deferred.done` 添加的 doneCallbacks，都会被调用。回调函数的执行顺序和它们被添加的顺序是一样的。传递给 `deferred.resolve()` 的 `args` 参数，会传给每个回调函数。当延迟对象进入 resolved 状态后，再添加的任何 doneCallbacks，当它们被添加时，就会被立刻执行，并带上传入给 `.resolve()` 的参数。有关详细信息，请参阅文件Deferred object 。