入门Promise的用法
new Promise(function(resolve,reject){
resolve(); //数据处理完成
reject(); //数据处理出错
}).then(function A(){
//成功下一步
},function B(){
//出错做对应处理
});
Promise 三个状态;(每一个then都会返回新的一个Promise实例)
pending //待定 初始状态
fulfilled //实现 操作成功
rejected //否决 操作失败
-----------------------------------------------------------------
let a = 10;
let promise = new Promise(function(resolve,reject){
if(a==10){
resolve("成功")
}else{
reject("失败")
}
})
promise.then(res=>{
console.log(res)
},err=>{
console.log(err)
})
promise.catch(err=>{
console.log(err)
})
简写:
new Promise((resolve,reject)=>{
//做什么
}).then(res=>{
console.log(res)
}).catch(err=>{
console.log(err)
})
等价指令:
Promise.resolve("xxx")将现有的东西转成一个promise对象;resolve成功状态;
等价
new Promise((resolve)=>{
resolve("xxx")
})
Promise.reject("xxx")将现有的东西转成一个promise对象;reject失败状态;
等价
new Promise((resolve,reject)=>{
reject("xxx")
})
-----------------------------------------------------------------
Promise.all([x1,x2,x3])
例子:
let promise1 = Promise.resolve("aa")
let promise2 = Promise.resolve("bb")
let promise3 = Promise.resolve("cc")
Promise.all([promise1,promise2,promise3]).then(res=>{
console.log(res) //[aa,bb,cc]
let [res1,res2,res3] = res; //es6解构;
console.log(res1,res2,res3)
}).catch(err=>{
console.log(err)
})
all必须确保所有promise对象都是resolve状态;
let promise1 = Promise.reject("aa")
let promise2 = Promise.reject("bb")
let promise3 = Promise.resolve("cc")
Promise.race([promise1,promise2,promise3])只要有一个成功的就返回;//一般也不会用到
入门Promise的用法的更多相关文章
- 简单谈谈js中Promise的用法
首先先推荐一篇博文:http://blog.csdn.net/jasonzds/article/details/53717501 这篇博文很清晰的说明了Promise的用法,这里来简单总结一下: Pr ...
- Docker新手入门:基本用法
Docker新手入门:基本用法 1.Docker简介 1.1 第一本Docker书 工作中不断碰到Docker,今天终于算是正式开始学习了.在挑选系统学习Docker以及虚拟化技术的书籍时还碰到了不少 ...
- 整理一下Promise 的用法
Promise 的定义 Pormise是JS的异步编程的一种解决方案,在ES6将其写进了语言标准,提供了原生的Promise对象. Promise简单来理解就是一个容器,里面存放着某个未来才会结束的事 ...
- JavaScript异步与Promise基本用法(resolve与reject)
Promise解决的问题相信每个前端都遇到过这样一个问题,当一个异步任务的执行需要依赖另一个异步任务的结果时,我们一般会将两个异步任务嵌套起来,这种情况发生一两次还可以忍,但是发生很多次之后,就形成了 ...
- 理解并掌握Promise的用法
前沿: Promise在处理异步操作非常有用.项目中,与后端进行数据请求的时候经常要用到Promise.我们可以用promise + xhr进行ajax的封装.也可以使用基于promise封装的请求 ...
- [js高手之路] es6系列教程 - promise常见用法详解(resolve,reject,catch,then,all,race)
关于promise我在之前的文章已经应用过好几次,如[js高手之路]Node.js+jade+express+mongodb+mongoose+promise实现todolist,本文就来讲解下pro ...
- ES6 入门Promise
Promise是一个对象用来传递异步操作的消息,有三种状态:Pending(进行中),Resolved(已完成又称Fulfilled)和Rejected(已失败). 特点:对象状态不受外界的影响.一旦 ...
- 入门Promise的正确姿势
Promise是异步编程的一种解决方案,从语法上说,Promise是一个对象,从它可以获取异步操作的消息. Promise的基本用法 Promise构造函数接受一个函数作为参数,该函数的两个参数分别是 ...
- NodeJS学习笔记 进阶 (13)Nodejs进阶:5分钟入门非对称加密用法
个人总结:读完这篇文章需要5分钟,这篇文章讲解了Node.js非对称加密算法的实现. 摘录自网络 地址: https://github.com/chyingp/nodejs-learning-guid ...
随机推荐
- 转:zip版Tomcat(6,7)不能注册成windows服务或者注册后不能启动的问题解决
源地址:http://www.iflym.com/index.php/code/zip-tomcat67-can-not-register-windows-services-resolve.html ...
- 从BadBoy导入脚本并调试
一. 利用BadBoy录制自动化脚本,录制事件为禅道中创建bug 在badboy地址栏输入被访问的URL地址 录制成功后截图如下: 录制完成后在badboy窗口中回放确定脚本录制的正确性,回放成功后清 ...
- python二维数组初始化
>>> a=[[0]*3 for i in range(3)]>>> a[[0, 0, 0], [0, 0, 0], [0, 0, 0]]>>> ...
- windows下安装composer流程
1.php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" 2. php -r &quo ...
- 在canvas标签和style中定义width和height
在canvas标签中定义width.height跟在style中定义width.height是不同的.canvas标签的width和height是画布实际宽度和高度,就是在这个上面绘制图形.style ...
- Myeclipse----Hibernate环境搭建
使用myEclipse来生成hibernate 持久化类和映射文件 总体步骤:创建数据库----创建web工程----创建数据视图中的数据库-----导入hibernate框架需要的capabilit ...
- Oracle 11G for redhat 自启动脚本
在$ORACLE_HOME/bin中,有dbstart和dbshut这两个脚本,可以使用这两个oracle自带的脚本实现oracle的开机自启动.这个脚本中包含oraclelistener.insta ...
- printf(“%06d\n”,x);
%06d : %是格式化输入接受参数的标记 0格式化命令:结果将用零来填充 6:填充位数 d:代表十进制 数据 printf(“%06d\n”,x); console: 000001 000002 0 ...
- C#面向对象之数据库(理论、插入、修改、删除、查询)
1.数据库的作用:不仅仅是存储,更重要的是将数据进行存储以后怎么样才能方便快捷的查询修改 2.数据库的特点:海量存储.查找速度快.并发性问题控制.安全性.数据完整性(保存在数据库中的数据是正确的.真是 ...
- ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 08. 输入Model和防止重复Post
通过action的参数传入一个model 通过input的name属性和model属性对应上 通常是使用Http post去做 快速创建了这个Action 这个Action很简单我们只需要返回View ...