JavaScript学习之ES6学习之Promise
简介
主要介绍Promise新特性的概念和使用。
概念:
Promise是ES6引入的异步编程的新解决方案,语法上Promise是一个构造函数,用来封装异步操作(也就是回调函数)。
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Promise学习</title>
</head>
<body><script>const p = new Promise(function(resolve,reject){//创建一个Promise实例对象,传入一个函数,函数由两个参数,分别是//1. resolve:也是一个函数对象,调用这个说明成功。//2. reject:也是一个函数对象,调用这个说明失败。//3. 或者throw抛出异常会判定为失败//4. 不执行resolve并且不执行reject,返回一个非Promise实例,也是成功。//先试试成功resolve("我成功啦");//再试试失败//reject("我失败啦");}).then(//then方法设置成功和失败的回调函数,第一个函数是成功,第二个函数的失败function(value){//console.log("成功:",value);},function(reason){console.log("失败:",reason);})</script>
</body>
</html>
再注释掉resolve方法,调用reject方法。
效果:
then方法用于设置成功回调和失败回调,该方法的返回值是也是一个Promise实例,所以可以直接链式调用then,达到一条回调链。
效果:
验证返回Promise,并在该实例中实现成功。
效果:
验证返回Promise并使得失败:
效果:
promise由一个catch方法,是一个语法糖,当then函数不想设置成功回调,只想设置失败回调时,还是需要传递一个成功回调函数,尽管里面时空函数,第二个函数才是失败回调,这种情况下then就略显麻烦,此时可以不使用then,直接使用catch,传入一个回调函数,这个就是失败回调。
JavaScript学习之ES6学习之Promise相关推荐
- 【JavaScript 教程】ES6 中的 Promise对象 详解
[JavaScript 教程]ES6 中的 Promise对象 详解 1.Promise对象含义 promise是异步编程的一种解决方法. 所谓promise,简单说是一个容器,里面保存着某个未来才会 ...
- JavaScript 学习笔记-- ES6学习(一)介绍以及Babel的使用
本文摘自阮一峰老师的<ECMAScript 6入门>,原文地址:http://es6.ruanyifeng.com/#docs/intro ECMAScript 6 是一个泛指,含义是5. ...
- JavaScript学习笔记 -- ES6学习(三) 变量的解构赋值
1.解构赋值的定义 在ES6中,允许按照一定模式,从数组和对象中提取值(所谓解构),然后对变量进行赋值. var a = 1; var b = 2; var c = 3;//等价于var [a, b, ...
- 重新回头学习归纳ES6的知识点-------promise(承诺)
概述: 是异步编程的一种解决方案.解决异步回调问题. 从语法上说,Promise 是一个对象,从它可以获取异步操作的消息. 特点: 对象的状态不受外界影响. Promise对象代表一个异步操作,有 ...
- javascript的ES6学习总结(第三部分)
1.ES6中的面向对象的类 1.1.定义类 在ES5中,我们写一个类,通常是这么写的 function Person(name,age){this.name = name;this.age = age ...
- ES6学习(八)—Promise对象 超鸡重要
ES6学习(八)-Promise对象,超鸡重要 必须要会 Promise对象:代表了未来某个将要发生的事情(通常是一个异步操作) 有了Promise对象,可以将异步操作以同步的流程表达出来,避免了层层 ...
- 【ES6】阮一峰ES6学习之Promise(一)
Promise 一.含义 1. 概念 2. 特点 3. 基本用法 4. 为什么要用 Promise 1. 指定回调函数的方式更加灵活 2. 支持链式调用,可以解决回调地狱的问题 用Promise实现A ...
- ES6学习——一文搞懂ES6
ES6学习--一文搞懂ES6 es6介绍 ES全称EcmaScript,是脚本语言的规范,而平时经常编写的EcmaScript的一种实现,所以ES新特性其实就是指JavaScript的新特性. 为什么 ...
- ES6学习第六篇--生成器(Generator)
Generator 函数组成 Generator 有两个区分于普通函数的部分: 一是在 function 后面,函数名之前有个 * : 函数内部有 yield 表达式. 其中 * 用来表示函数为 Ge ...
最新文章
- JavaScript为unicode编码转换为中文
- Dozer 使用总结
- 基于单片机自动升旗系统_基于视觉定位的机器人全自动冲击系统
- aop在项目中的实际运用_mypy在实际项目中的应用
- 关闭mysql权限管理_MySQL系列:用户及权限管理
- 在组织中管理 Windows Hello 企业版
- jsonArray:JavaBean,List,Map转成json格式(轉+整理)
- WSGI协议主要包括server和application两部分:
- 基础总结篇之七:ContentProvider之读写短消息
- 《前沿视点》——2013年最值得关注的网页设计流行趋势
- 服务器gpt安装系统bios设置,系统安装的两种模式:UEFI+GPT、BIOS+MBR-网络教程与技术
-亦是美网络...
- android 贴吧列表,Android仿百度贴吧客户端Loading小球
- mysql front登陆1045错误_解决MySQL-Front连接MySQL出现1045错误
- xftp显示隐藏的文件夹及传输文件发生错误问题
- 计算机简历中的附加信息怎么填,善用简历附加信息体现你的好
- zzuli 2631: B(树链剖分)
- 利用C语言 计算一个数组内的平均值
- 天津轻工职业技术学院计算机专业怎么样,天津轻工职业技术学院可以转专业吗,天津轻工职业技术学院新生转专业政策...
- 第六章软件项目配置管理
- SpringBoot整合流行框架(上) 究其原理 去其糟粕 如何快速上手所有流行框架整合的方法一文足以~