同步编程通常来说易于调试和维护,然而,异步编程通常能获得更好的性能和更大的灵活性。异步的最大特点是无需等待。“Promises”渐渐成为JavaScript里最重要的一部分,大量的新API都开始promise原理实现。下面让我们看一下什么是promise,以及它的API和用法!
Promises现状
XMLHttpRequest API是异步的,但它没有使用promise API。但有很多原生的 javascript API 使用了promise:
- Battery API
- fetch API (XHR的替代品)
- ServiceWorker API
Promises将来只会变得越来越流行、普遍,非常重要,所有的前端开发人员都将用到它。另一个值得注意的是,Node.js是基于Promises的平台(很显然,Promise是它的一个核心特征)。
Promises的用法比你想象的要简单——如果你以前喜欢使用setTimeout
来控制异步任务的话!
Promise基本用法
new Promise()
构造器可以用在传统的异步任务中,就像以前 setTimeout
和 XMLHttpRequest
的用法一样。一个新的 Promise 使用 new
关键字生成,同时,这个 Promises 提供了 resolve
和 reject
函数让我们执行回调操作:
var p = new Promise(function(resolve,reject) {
// Do an async task async task and then...
if(/* good condition */) {
resolve('Success!');
}
else {
reject('Failure!');
}
});
p.then(function() {
/* do something with the result */
}).catch(function() {
/* error 原文地址:https://www.cnblogs.com/xiadongqing
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。