视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
介绍ES6之Promise对象
2020-11-27 19:30:40 责编:小采
文档


今天讨论的新特性让我非常兴奋,因为这个特性是 ES6 中最神奇的特性。

简介

Promise对象是异步编程的一种解决方案。所谓Promise,简单来说就是一种容器,里面包含着未来可能结束的一个事件的结果。

Promise包含三种状态,pending,fulfilled,rejected。
表现为从pending到fulfilled,或者从pending到rejected。

下面是一个Promise实例的生成

// es5 写法
 const promise = new Promise(function(resolve, reject) {
 if (/*这里填写操作(一般是异步操作)*/) {
 resolve(value);
 } else {
 reject(error)
 }
 })
 // es6 写法,以后默认使用es6语法 const promiseEs = new Promise((resolve, reject) => { if (/*操作*/) {
 resolve(value);
 } else {
 reject(error);
 }
 })

操作部位一般是一个异步方法,resolve和reject是es6官方给的方法可以获取到操作部位的返回结果

promise的使用

 promise.then((value) => { console.log("success" + value);
 }, (error) => { console.log("error" +error);
 })

then方法接受两个回调函数作为参数,第一个方法在Promise对象状态从pending变为fulfilled时调用,第二个方法在状态从pending变为rejected时候调用。
另外 上面的使用方法可以写成类似于try/catch的形式,将rejected时的处理剥离出来放到catch里面处理。
promise的使用2

 promise.then((value) => { console.log("success" + value);
 }).catch((error) => { console.log("error" +error);
 })

相关推荐:

ES6的新特性概览_javascript技巧

详解JavaScript ES6中的Generator_基础知识

下载本文
显示全文
专题