ES6 Promise catch】的更多相关文章

getJSON方法返回一个 Promise 对象,如果该对象状态变为resolved,则会调用then方法指定的回调函数:如果异步操作抛出错误,状态就会变为rejected,就会调用catch方法指定的回调函数,处理这个错误.另外,then方法指定的回调函数,如果运行中抛出错误,也会被catch方法捕获. p.then((val) => console.log('fulfilled:', val)) .catch((err) => console.log('rejected', err));…
Deferred 和 Promise ES6 和 jQuery 都有 Deffered 和 Promise,但是略有不同.不过它们的作用可以简单的用两句话来描述 Deffered 触发 resolve 或 reject Promise 中申明 resolve 或 reject 后应该做什么(回调) 在 jQuery 中 var deferred = $.Deferred(); var promise = deferred.promise(); 在 ES6 中 var deferred = Pro…
构造函数 new Promise(function(resolve, reject){}); 构造函数接受一个函数(executor)作为参数,该函数在返回 Promise 实例之前被调用.函数的两个参数分别是 resolve 和 reject 函数. 如果 executor 函数执行中抛出异常,则 Promise 视为 rejected. executor 函数返回值没有意义. 类方法 Promise.all(iterable) 类似于 jQuery.when() 方法,只有 iterable…
背景 周末闲来无事,随便翻看了一下阮一峰老师的<ES6 标准入门>第2版,ps:之前在阮一峰老师的官网看过电子版,感觉干货满满,所以就买了纸质版:当看到第16章第4节 'Promise.prototype.catch()'时,遇到了一个小困惑,下面我们来一起看一下 开胃汤 首先,Promise.prototype.catch方法是用来'捕获Promise回调函数中自然发生或主动抛出的错误',何为自然发生?何为主动抛出? 自然发生的错误: function a() { var x = 1; co…
Promise 的含义 Promise 是异步编程的一种解决方案,比传统的解决方案--回调函数和事件--更合理和更强大.它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了Promise对象. 所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果.从语法上说,Promise 是一个对象,从它可以获取异步操作的消息.Promise 提供统一的 API,各种异步操作都可以用同样的方法进行处理. Promise对象有以下两个特点.…
 Promise是什么??    打印出来看看  console.dir(Promise) 这么一看就明白了,Promise是一个构造函数,自己身上有all.reject.resolve这几个眼熟的方法,原型上有then.catch等同样很眼熟的方法.这么说用Promise new出来的对象肯定就有then.catch方法喽,没错.   那就new一个玩玩吧. var p = new Promise(function(resolve, reject){ //做一些异步操作 setTimeout(…
转载:点击查看原文 ES6 Promise对象 ES6中,新增了Promise对象,它主要用于处理异步回调代码,让代码不至于陷入回调嵌套的死路中. @-v-@ 1. Promise本质 Promise本质上是一个 函数 ,更确切地说,它是一个 构造器 ,专门用来构造对象的. 它接受一个函数作为参数,并返回一个对象,大致情况如下: function Promise( fn ){ // var this = {} // Object.setPrototypeOf(this, Promise.prot…
最近越来越喜欢与大家进行资源分享了,并且及时的同步到自己的园子内,为什么呢? 一.小插曲(气氛搞起) 在上个月末,由于领导的高度重视(haha,这个高度是有多高呢,185就好了),走进了公司骨干员工的队列,并参与为骨干员工准备的“高效能人士的七项修炼”课程培训. 那接下来我是不是该简明扼要的说一下七项修炼有哪些,很受用哦. 七项修炼之一:积极主动 ==> 积极心态去处理事情.不怕事. 七项修炼之二:明确方向 ==> 要做到以终为始,将终点作为起点,帮助你实现生活与工作中的重要目标. 七项修炼之…
公司突然要开放微信小程序,持续蒙蔽的我还不知道小程序是个什么玩意. 于是上网查了一下,就开始着手开发..... 首先开发客户端的东西,都有个共同点,那就是  数据请求! 看了下小程序的请求方式大概和ajax请求差不多,所以先打好基础 从封装http请求开始 好了废话不多说了,上代码 首先....当然是建立配置文件,用来配置请求根路径 config.js export default { basePath: 'http://192.168.6.2:9002/api', fileBasePath:…
ES6 Promise 概念之类的,大概读者都应该有所知道,接下来我们直入终点. 先让我们来看看什么是Promise吧,他是一个object,类,arry,function? 首先,学习它的时候应该讲其打印出来,看看到底是个什么如图下: 原来如此,是一个构造函数,里面有all.reject.resolve这几个眼熟的方法,原型上有then.catch等同样很眼熟的方法: 接下来正题开始: 创造一个pro对象,使用构造函数Promise来构造,里面有一个参数,以函数的形式,函数里面一个定时器,原始…
1. Deferred对象有resolve和reject方法,可以直接修改状态 jquery用Deferred实现了Promise规范,Deferred与ES6 Promise的最大区别是: Deferred对象有resolve()和reject()方法,可以直接随时修改该对象的状态. 比如: var def = $.Deferred(); setTimeout(function(){ //... def.resolve(data); }); //可用直接用: def.resolve('...'…
Promise的兴起,是因为异步方法调用中,往往会出现回调函数一环扣一环的情况.这种情况导致了回调金字塔的出现.不仅代码写起来费劲不美观,而且问题复杂的时候,阅读代码的人也难以理解. db.save(data, function(data){ // do something... db.save(data1, function(data){ // do something... db.save(data2, function(data){ // do something... done(data…
一.Promise是什么? Promise 是异步编程的一种解决方案: 从语法上讲,promise是一个对象,从它可以获取异步操作的消息:从本意上讲,它是承诺,承诺它过一段时间会给你一个结果. promise有三种状态:pending(等待态),fulfiled(成功态),rejected(失败态):状态一旦改变,就不会再变.创造promise实例后,它会立即执行.   回调嵌套很多时,代码就会非常繁琐,会给我们的编程带来很多的麻烦,这种情况俗称——回调地狱. const request = u…
then()方法的作用是Promise实例添加解决(fulfillment)和拒绝(rejection)状态的回调函数.then()方法会返回一个新的Promise实例,所以then()方法后面可以继续跟另一个then()方法进行链式调用. let p = new Promise((resolve, reject) => { setTimeout(resolve, 1000, 'success'); }); p.then( res => { console.log(res); return `…
一.Promise介绍1.Promise简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果2.Promise可以将异步操作以同步操作的流程表达出来,避免了层层嵌套的回调函数.此外,Promise对象提供统一的接口,使得控制异步操作更加容易 二.基本用法[使用时注意环境及异步操作相关包安装]在node环境中使用ajax时需要安装jsdom.jqury包配置常量: //创建window环境 const {JSDOM} = require('jsdom'); const…
es6 Promise.resolve()方法 2018-01-27 22:29:06 ixygj197875 阅读数 16925更多 分类专栏: ES6标准入门 (阮一峰) ES6标准入门   Promise.resolve()方法 有时需要将现有对象转为 Promise 对象,Promise.resolve方法就起到这个作用. const jsPromise = Promise.resolve($.ajax('/whatever.json')); 上面代码将 jQuery 生成的deferr…
es6 Promise.reject()方法:https://blog.csdn.net/ixygj197875/article/details/79188195…
话不多说,直捣主题. promise用途:异步编程的一种解决方案. 优点:比传统的解决方案——回调函数和事件——更合理和更强大. 三种状态:pending(进行中).fulfilled(已成功)和rejected(已失败). 基本用法: const promise = new Promise(function(resolve, reject) { resolve(value);//表示异步操作成功 reject(error);//表示异步操作失败 }); promise常用的几个方法: prom…
Promise是一个构造函数,自己身上有all.reject.resolve这几个眼熟的方法,原型上有then.catch等同样很眼熟的方法. 那就new一个 var p = new Promise(function(resolve, reject){ //做一些异步操作 setTimeout(function(){ console.log('执行完成'); resolve('随便什么数据'); }, 2000); }); Promise的构造函数接收一个参数,是函数,并且传入两个参数:reso…
所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果. ES6 规定,Promise对象是一个构造函数,用来生成Promise实例. 下面代码创造了一个Promise实例. const promise = new Promise(function(resolve, reject) { // ... some code if (/* 异步操作成功 */){ resolve(value); } else { reject(error); } }); P…
Promise是一个构造函数,自己身上有all.reject.resolve这几个眼熟的方法,原型上有then.catch等同样很眼熟的方法. 那就new一个 var p = new Promise(function(resolve, reject){ //做一些异步操作 setTimeout(function(){ console.log('执行完成'); resolve('随便什么数据'); }, 2000); }); Promise的构造函数接收一个参数,是函数,并且传入两个参数:reso…
一.概念 Promise,从语法上来讲,它是一个对象,是一个构造函数,可以获取 异步操作 的信息. 简单来讲,就是用同步的方式写异步代码,用来解决回调问题. 二.特点 Promise 对象有两个特点: 1.对象的状态不受外界影响.Promise 对象代表一个异步操作,有三种状态: (1).pending: 初始值 (2).fulfilled:  操作成功 (3).rejected: 操作失败 只有异步操作的结果可以决定当前是哪一个状态,任何其他状态都无法改变这个状态. 2.一旦状态改变,就不会再…
最近在学习es6的Promise,其中涉及到了Promsie的事件执行机制,因此总结了关于Promise的执行机制,若有错误,欢迎纠错和讨论. 在阮一峰老师的书中<es6 标准入门>对Promise的基础知识做出了详细的介绍,在此就不一一介绍了,直接开始整体,将Promsie中关于事件执行机制的问题与大家分享. 1.Promsie对象的创建以及执行顺序 创建方式:new Promise(function(resolve,reject){ //...} 这种方式在阮老师的书中指出该函数一旦创建,…
Promise是一个构造函数,自己身上有all.reject.resolve这几个眼熟的方法,原型上有then.catch等同样很眼熟的方法. 那就new一个 var p = new Promise(function(resolve, reject){ //做一些异步操作 setTimeout(function(){ console.log('执行完成'); resolve('随便什么数据'); }, 2000); }); Promise的构造函数接收一个参数,是函数,并且传入两个参数:reso…
本文是借鉴于ac黄的博客. 接触es6也有几个月了,貌似没有系统的去学习过它,总是用到什么,查查什么.今天就说下es6中的promise对象. 先说说promise解决了什么问题? 写前端的同学都经常遇到这种问题:在多个接口异步请求数据,然后利用这些数据来进行一系列的操作.一般如下实现: $.ajax({ url: '......', success: function (data) { //基于data,才能进行下发操作 $.ajax({ url: '......', success: fun…
说明 Node.js中,以异步(Async)回调著称,使用了异步,提高了程序的执行效率,但是,代码可读性较差的. 假如有几个异步操作,后一个操作需要前一个操作的执行完毕之后返回的数据才能执行下去,如果使用Node.js,就需要一层层嵌套下去,Promised对象就是针对此问题所提出来的的解决办法. 基本概念 Promise对象状态: pending 初始状态,也称为未定状态,就是初始化Promise时,调用executor执行器函数后的状态. fulfilled 完成状态,意味着异步操作成功.…
前段时间做项目,在调用接口的时候,遇到了异步问题.开始是使用定时器,发现效果并不理想,于是又用了回调,效果还好但是,很明显的影响了代码的整洁性. 于是我想起了在面试的那段时间,背过的面试题里,出现过一个专为解决异步问题的新语法,ES6中的 Promise.接下来谈谈我对Promise的理解. 首先我们要搞清楚Promise的定义,Promise对象用于异步操作,它表示一个尚未完成且预计在未来完成的异步操作. 也就是说,Promise相当于一个承诺,我们许下承诺,当然就是用来完成的. 然后我们应该…
开发很多的时候需要异步操作,常用的做法就是用回调函数,假如需要一连串的调用,并且后面一个调用依赖前一个返回的结果的时候,就得多层嵌套回调函数,比如下面这种情况: $('.animateEle').animate({ opacity:'.5' }, 4000,function(){ //回调 $('.animateEle2').animate({ width:'100px' },2000,function(){ //回调 $('.animateEle3').animate({ height:'0'…
今天研究了一下同事封装的http请求,用的是promise. 大结构是: const __fetch = (url, data = {}, config = {}) => { let params = Object.assign({}, data); config.headers = Object.assign({}, config.headers, { "Content-Type": "application/json", "Access-Cont…
前言 本文主要是对Promise本身的用法做一个全面解析而非它的原理实现,如果你对Promise的用法还不是很熟悉或者想加深你对Promise的理解,我相信这篇文章一定会帮到你. 首先让我们先了解一下JavaScript为什么会引入Promise 回调地狱 让我们先看这样一段代码,JQuery中ajax请求: $.ajax({ url: "url1", data: {}, success(res1) { //获取到第一个数据 console.log(res1); //根据第一个数去去获…