YUI 的 Promise 用法如下:
var promise = new Y.Promise(function (resolve, reject) {
// 非同步的呼叫, 當非同步的呼叫完成後,
// 依結果執行 resolve 或是 reject。
}
在內部的實作中,我們可見 Y.Promise 定義了一個 Y.Promise.Resolver,再使用這個 resolver
來執行以上傳給 Y.Promise 的 function。
fn.call (this, function(value) {
resolver.fulfill(value);
}, function (value) {
resolver.reject(value);
}
}):
因此可知 resolve(value) 就是執行 resolver.fulfill(value), reject(value) 就是執行 resolver.reject(value)。
所以可把對 Y.Promise 的說明改成如下:
var promise = new Y.Promise(function (resolve, reject) {
// 非同步的呼叫, 當非同步的呼叫完成後,
// 依結果執行 resolver.fulfill 或是 resolver.reject。
}
由於看 YUI promise 以上程式時有點吃力,因此將理解記錄於此。