jQuery .promise() 方法
實例
在一個沒有啟動動畫的集合上調用 .promise()
$(function () {
var div = $( "<div />" );
div.promise().done(function( arg1 ) {
//彈出 "true"
alert( this === div && arg1 === div );
});
})
定義和用法
.promise() 函數返回一個 Promise 對象,觀察某種類型被綁定到集合的所有行動,是否已被加入到佇列中。
注意:1. .promise() 方法返回一個動態生成的 Promise,當綁定到集合中的所有特定動作(action)已經被加入或未被加入到佇列中時,生成的 Promise 將被受理(resolve)。
2. type 的默認值是"fx" ,這意味著被受理(resolve)的 Promise 對象是在所有被選中元素的動畫都完成時返回的。
3. 如果提供 target 參數,.promise() 在該參數上添加方法,然後返回這個對象,而不是創建一個新的。它適用於在一個已經存在的對象上添加 Promise 行為的情況。
語法
.promise( [type ] [, target ] )
參數 | 描述 |
---|---|
type | String類型 需要待觀察佇列類型。 |
target | PlainObject類型 將要綁定 promise 方法的對象。 |

更多實例
動畫結束時調用受理返回的 Promise
當所有的動畫結束時(包括那些在動畫回調函數和之後添加的回調函數中初始化的動畫),受理(Resolve)返回的 Promise。
使用 $.when() 語句受理返回的 Promise
使用 $.when() 語句(.promise() 方法使得在 jQuery 集合中實現它變成了可能),受理(Resolve)返回的 Promise。