deferred.promise() 函数返回 Deferred(延迟)的 Promise 对象
deferred.promise()
也可以接受一个target
参数,此时传入的target
将被赋予Promise
的方法,并作为结果返回,而不是创建一个新对象。
语法
deferred.promise( [target ] )
$(function () {
// 现有对象
var obj = {
hello: function( name ) {
alert( "Hello " + name );
}
},
// 创建一个延迟 Deferred
defer = $.Deferred();
// 设置对象作为 promise
defer.promise( obj );
// Resolve (解决) 该对象
defer.resolve( "John" );
// 使用该对象作为 Promise
obj.done(function( name ) {
obj.hello( name ); //将弹出 "Hello John"
}).hello( "Karl" ); // 将弹出 "Hello Karl";
})