ES6(1)—promise学习

原创 2018年04月16日 00:22:58

学过android的人都知道,java是基于多线程的,当需要执行一个耗时的操作,比如请求服务端的数据,此时往往需要开一个线程来执行。
但是在我们的js中,是单线程的,请求网路数据的话,我们无法判定什么时候会返回,如果网络情况不是很好的话那么就会很慢。所以不可能去等待他请求完成才去进行下一步操作。所以我们需要异步去请求数据,但是我们又需要知道请求的结果,此时我们就需要一个接口回调来告知我们这个请求的结果。

在ES6中,提供了promise来进行异步操作,并实现了回调。
用法如下:

var promise = new Promise(function (resolve, reject) {
            // 进行一些异步或耗时操作
            if (1) {
                //条件满足,异步操作成功
                resolve("success!");
            } else {
                //条件不满足
                reject(Error("fail"));
            }
        });
        //绑定处理程序
        promise.then(function (result) {
            //promise成功回调
            console.log(result); // "success"
        }, function (err) {
            //promise失败回调
            console.log(err); // Error: "fail"
        });

实现起来有三步:
1. 第一步:创建一个promise对象,并在里边去做一些事情,比如Ajax请求数据
2. 第二步:在这个对象方法中,指定条件相应。比如ajax请求返回的数据state==200的时候,使用 resolve(“success!”);回调,如果不是,则使用 reject(Error(“fail”));
3. 第三步:使用 promise.then监听这两个回调函数,在成功或者失败的时候做出我们期望的相应操作。

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/nongweiyilady/article/details/79955409

学习 ES6 Promise

PromiseA promise represents the eventual result of an asynchronous operation. 基础介绍Promise 把异步处理对象和处理...
  • u012349616
  • u012349616
  • 2016-11-08 20:50:23
  • 536

ES6中promise对象——告别回调的嵌套

在JavaScript语言中,无论是写浏览器端的各种事件处理回调、ajax回调,还是写Node.js上的业务逻辑,不得不面对的问题就是各种回调函数。回调函数少了还好,一旦多了起来而且必须讲究执行顺序的...
  • hpu_shine
  • hpu_shine
  • 2016-11-25 20:07:46
  • 2039

ES6 Promise 用法

一、认识promise对象         FIREFOX 控制台直接输入  Promise         我们看到 几个类方法:all   race  reject resolve     ...
  • cut001
  • cut001
  • 2017-06-17 11:19:58
  • 2013

ES6基础之详解Promise基本用法

一、Promise是一个构造函数,用来生成promise实例;var promise=new Promise();二、构造函数接收一个参数,这个参数是一个函数,当创建实例的时候,参数里的函数会立即执行...
  • zhy13087344578
  • zhy13087344578
  • 2017-09-29 11:20:49
  • 1056

es6 javascript的Promise对象(上)

1 Promise 的含义Promise 是异步编程的一种解决方案, 比传统的解决方案—— 回调函数和事件—— 更合理和更强大。 它由社区最早提出和实现, ES6 将其写进了语言标准, 统一了用法, ...
  • qq_30100043
  • qq_30100043
  • 2016-12-06 17:20:56
  • 1360

ES6 Promise 浅析

1.  从宏观的角度初步了解Promise Promise含义不是字面的“誓言”“承诺”之类,而是“先知”的意思。 人类的行为虽然可以并行,但有意识的思维活动却呈现出单线程的特性。 比如,普通人同一...
  • jack_ocean
  • jack_ocean
  • 2016-12-19 17:25:30
  • 1420

es6 Promise简单用法例子

//简单的例子 { var ajax=function () { console.log('执行2'); return new Promise(function...
  • sinat_23900111
  • sinat_23900111
  • 2018-01-18 23:00:07
  • 95

用 ES6 generator & Promise 写异步代码

测试文件[root@nginx ~]# cat test_1.txt this is test_1.txt [root@nginx ~]# cat test_2.txt this is test_2...
  • dongsoso
  • dongsoso
  • 2015-08-14 18:55:12
  • 1734

ECMAScript 6 学习系列课程 (ES6 Promise对象的使用)

Promise是异步编程的一种解决方案, ES6 这一特性很大程度上提高了开发者的效率,如果用过Angular的同学,一定会用到$q的resolve和reject函数,同理promise也提供原生的解...
  • jiangbo_phd
  • jiangbo_phd
  • 2016-07-12 11:02:43
  • 2104

关于ES6的Promise的使用深入理解

ES6的promise对象研究 什么叫promise?      Promise对象可以理解为一次执行的异步操作,使用promise对象之后可以使用一种链式调用的方式来组织代码;让代码更加的直观。 那...
  • baidu_34449164
  • baidu_34449164
  • 2017-04-11 17:06:36
  • 8970
收藏助手
不良信息举报
您举报文章:ES6(1)—promise学习
举报原因:
原因补充:

(最多只允许输入30个字)