- Getting Started
- edpx-mobile v1.0.0
- rebas
- rider
- saber-ajax
- saber-cookie
- saber-dom
- saber-emitter
- saber-env
- saber-fastbutton
- saber-firework
- saber-firework v2.0.0
- saber-firework v2.0.0-beta.2
- saber-firework v2.0.0-beta.1
- saber-firework v2.0.0-alpha.2
- saber-firework v2.0.0-alpha.1
- saber-firework v1.0.0
- saber-firework v0.4.2
- saber-firework v0.4.1
- saber-firework v0.4.0
- saber-firework v0.3.2
- saber-firework v0.3.1
- saber-firework v0.3.0
- saber-firework v0.2.6
- saber-firework v0.2.5
- saber-firework v0.2.4
- saber-firework v0.2.1
- saber-firework v0.2.0
- saber-firework v0.1.0-beta.4
- saber-firework v0.1.0-beta.3
- saber-firework v0.1.0-beta.1
- saber-geo v0.1.0
- saber-lang
- saber-log v0.1.0
- saber-matchmedia
- saber-mm
- saber-promise
- saber-promise v2.1.0
- saber-promise v2.0.0
- saber-promise v2.0.0-beta.1
- saber-promise v2.0.0-alpha.3
- saber-promise v2.0.0-alpha.2
- saber-promise v2.0.0-alpha.1
- saber-promise v1.0.2
- saber-promise v1.0.0
- saber-promise v0.1.2
- saber-promise v0.1.2-beta.3
- saber-promise v0.1.2-beta.2
- saber-promise v0.1.2-beta.1
- saber-promise v0.1.1
- saber-promise v0.1.0
- saber-rainbow
- saber-router
- saber-router v2.0.0
- saber-router v2.0.0-beta.1
- saber-router v2.0.0-alpha.2
- saber-router v2.0.0-alpha.1
- saber-router v1.0.0
- saber-router v0.2.4
- saber-router v0.2.3
- saber-router v0.2.2
- saber-router v0.2.1
- saber-router v0.2.0
- saber-router v0.1.0
- saber-router v0.1.0-beta.5
- saber-router v0.1.0-beta.4
- saber-router v0.1.0-beta.3
- saber-router v0.1.0-beta.2
- saber-router v0.1.0-beta.1
- saber-run
- saber-scroll
- saber-storage
- saber-string
- saber-tap
- saber-uri
- saber-viewport
- saber-viewport v1.1.0
- saber-viewport v1.0.0
- saber-viewport v0.2.12
- saber-viewport v0.2.11
- saber-viewport v0.2.10
- saber-viewport v0.2.9
- saber-viewport v0.2.8
- saber-viewport v0.2.6
- saber-viewport v0.2.5
- saber-viewport v0.2.1-beta.7
- saber-viewport v0.2.1-beta.6
- saber-viewport v0.2.1-beta.5
- saber-viewport v0.2.1-beta.4
- saber-viewport v0.2.1-beta.3
- saber-viewport v0.2.1-beta.2
- saber-viewport v0.2.1-beta.1
- saber-viewport v0.2.0
- saber-viewport v0.1.0
- saber-widget
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
saber-promise v0.1.0
saber-promise
吾王的移动端的Promise/A+实现
Usage
var Resolver = require('saber-promise');
function doSomeThing() {
var resolver = new Resolver();
doSync(
function (result) {
resolver.fulfill(result);
},
function () {
resolver.reject('connect error');
}
);
return resolver.promise();
}
doSomeThing().then(
function (result) {
alert(result);
},
function (reason) {
alert(reason);
}
);
API
Resolver
有三种状态:等待
、已完成
、已拒绝
。只能从等待
变为已完成
或者从等待
变为已拒绝
,并且状态只能变更一次
创建Resolver
实例
var resolver = new Resolver();
Resolver.fulfill(data)
将状态由等待
变更为已完成
,并将data
作为第一个参数触发所有已注册的onFulfilled
回调函数
var resolver = new Resolver();
resolver.fulfill(100);
多次调用处于非等待
状态的Resolver
实例的fulfill
方法是无效的
Resolver.reject(reason)
将状态由等待
变更为已拒绝
,并将reason
作为第一个参数触发所有已注册的onRejected
回调函数
var resolver = new Resolver();
resolver.reject('找不到对象');
多次调用处于非等待
状态的Resolver
实例的reject
方法是无效的
Resolver.promise()
返回对应的Promise对象
Promise
只能通过Resolver.promise()
创建
Promise.then(onFulfilled, onRejected)
注册已完成
和已拒绝
状态的回调
onFulfilled
已完成
状态回调onRejected
已拒绝
状态回调
返回Promise
实例
Test
使用Promises/A+规范的Test Suite
npm test
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论