ES6基础之详解Promise基本用法
来源:互联网 发布:大众软件 众筹 编辑:程序博客网 时间:2024/06/01 07:51
一、Promise是一个构造函数,用来生成promise实例;
var promise=new Promise();
二、构造函数接收一个参数,这个参数是一个函数,当创建实例的时候,参数里的函数会立即执行;
var promise=new Promise( function(){ console.log('这行代码会立即执行!') } )
三、参数里面的函数又接收两个参数,两个参数均为函数,一个resolve,一个reject;
var promise=new Promise( function( resolve,reject ){ console.log('这行代码会立即执行!') } )
四、异步操作成功时调用resolve,resolve函数将promise对象的状态从pending变为resolve,并将操作的结果作为参数传出去;
var promise=new Promise( function(){ wx.request({ url:'xxxxx', method:'get', success:function(res){ resolve(res); //发请求成功了,则调用resolve函数 }, fail:function(err){ reject(err) //发请求失败,则调用reject函数 } })})
五、异步操作失败时调用reject,reject函数将promise对象的状态从pending变为rejected,并将操作报出的错误,作为参数传递出去;
//同上
六、实例生成以后,可以用then方法分别指定resolved状态和rejected状态的回调函数;
//接上一步,加入请求成功,这时候,调用resolve函数,将promise的状态转为resolved,//在这时候实例promise可以利用then方法,指定,当状态变成resolved时,做什么//例如,上一步,get方式请求成功之后,将获取的数据解析一下,则可以这样子写promise.then( fuction(value){ //这时候是状态为resolved的时候 value就是通过resolve函数传过来的参数 //解析数据 ......},function(error){ //这时候是状态为rejected的时候 也就是说请求失败了,调用reject函数,promise状态变成了rejected //提醒用户 请求失败 console.log("请求数据失败")} )
七、then方法接收两个函数参数,分别作为resolved和rejected的回调函数,第二个参数可选;
//同上
八、then方法
//promise实例具有then方法,说明then方法是定义在原型对象上,//作用是当实例状态发生改变时,为其添加回调函数
九、catch方法
//catch方法也定义在原型上,在then方法后调用,发生错误时调用//注意,本质是.then(null,rejection)的别名
十、没有十,我只是为了凑整
本文参考阮一峰《ES6入门》,个人是看了好几遍才完全看懂,写出来希望对你有所帮助。
阅读全文
0 0
- ES6基础之详解Promise基本用法
- ES6 学习之promise 基本用法
- ES6 Promise 用法
- es6 promise用法
- js es6 promise用法
- es6基础回顾--Promise
- ES6的Promise详解
- es6之promise被坑记
- es6之promise被坑记
- 11、ES6 之Promise
- ES6之Promise对象
- ES6之Promise
- ES6之promise
- es6的Promise对象详解
- ES6规范之promise模式
- es6学习笔记之Promise
- ES6新特性之promise
- js异步之promise(ES6)
- 垂直对齐:vertical-align属性
- 万事开头难
- JS 控制CSS样式表
- Wi-Fi产品射频电路调试经验谈
- [bzoj-3714][PA2014]Kuglarz 题解
- ES6基础之详解Promise基本用法
- 冒泡排序
- 从用开始,循序渐进
- Android开发中的tools命名空间的引用
- CardView使用及属性
- 两层板(双面板)如何控制50欧特性阻抗
- Hibernate
- Java 内存模型
- python 调用shell命令的方法