ES6 Promise小笔记
来源:互联网 发布:mac .m2文件夹 看不见 编辑:程序博客网 时间:2024/05/21 00:49
ES6 Promise:
Promise是一个构造函数,身上有all、reject、resolve这几个方法,原型上有then、catch方法.
all:并行执行异步操作,并且在所有异步操作执行完后才执行回调;
resolve:异步操作执行成功后的回调函数
reject:异步操作执行失败后的回调函数,把Promise的状态置为rejected,我们在then中能捕捉到,然后执行“失败”情况的回调;
then:用于多层回调,(可传两个函数,第一个是成功的回调,第二个是失败的回调函数)
catch:在执行resolve的回调(也就是hen中的第一个参数)时,如果抛出异常了(代码出错了),那么并不会报错卡死js,而是会进到这个catch方法中
用法:
function resolveMethods1(){ var p = new Promise(function(resolve, reject){ //异步操作 setTimeout(function(){ if (1 === 2) { resolve('异步1完成后的回调'); } else { reject('异步1失败后的回调'); } }, 1000); }); return p; }function resolveMethods2(){ var p = new Promise(function(resolve, reject){ //做一些异步操作 setTimeout(function(){ if (1 === 1) { resolve('异步2完成后的回调'); } else { reject('异步2失败后的回调'); } }, 1000); }); return p; }调用方式一:resolveMethods1().then(function(data){ console.log(data); return resolveMethods1();}, function (data) { console.log(data); return resolveMethods2();}).then(function(data){ console.log(data);}, function (data) { console.log(data);});调用方式二:resolveMethods1().then(function (data) { console.log(data); return resolveMethods1();}).catch(function (data) { console.log(data); return resolveMethods2();}).then(function (data) { console.log(data);}).catch(function (data) { console.log(data);});结果如下(方式一和方式二的结果是一样的):
阅读全文
0 0
- ES6 Promise小笔记
- es6 标准 Promise 学习笔记
- es6学习笔记之Promise
- ES6 Promise对象学习笔记
- 学习笔记:ES6之Promise
- ES6 Promise的概念以及小实例
- ES6 Promise 小白入门有感
- ES6笔记(二)Promise对象
- ES6 Promise对象的学习笔记
- ES6--Promise
- ES6 Promise
- ES6-Promise
- ES6 Promise
- ES6 Promise
- es6 promise
- Promise ES6
- ES6 Promise
- ES6--promise
- tail -f 暂停方法
- Vuejs2.0 利用proxyTable实现跨域请求
- 常量
- 云数据库 Redis 版功能特性
- Linux下非root用户使用串口
- ES6 Promise小笔记
- 016
- Java基础之JNI的简单实现
- 多级菜单 简单实现
- php 水印
- 进制
- MySQL基础教程10-Mysql数据表修改操作
- leetcode 563. Binary Tree Tilt
- 客户应该如何配合建站公司网站建设全过程