美文网首页
Promise笔记

Promise笔记

作者: 寒东设计师 | 来源:发表于2018-01-14 13:42 被阅读0次

基本API

1. Promise.resolve()

2. Promise.reject()

3. Promise.prototype.then()

4. Promise.prototype.catch()

5. Promise.all()

6. Promise.race()

介绍

Promise的构造函数接受一个参数,是函数,并且传入两个参数,resolve是将Promise的状态置为fullfiled,reject是将Promise状态置为rejected。

```

var promise = new Promise(reslove,reject){

    if(...){

        reslove(data)

    }else{

        reject(errorMsg)

    }

}

```

then和catch

then可以实现Promise的连续调用,catch作用相当与then方法的第二个参数,同时它能捕获异常并保证程序继续执行。

````

promise.then(function(response){

    //...

},function(reason,errorMsg){

    //...

})

.catch(function(reason){

    //...

})

````

all和race

all方法为所有的Promise执行完成之后的回掉,接收一个数组,并在resolve中返回一个数组。

race用法同all,race为竞速执行,只要有一个,以下为api的使用方法和简单的原理实现

```

var promiseAll = new Promise()

promiseALl.all([promise1,promise2,promise3])

.then(function(results){

    //...

})

promiseAll.race([]promise1,promise2,promise3)

.then(function(results){

    //...

})

```

实现原理:

```

Promise.all=function(promises){

    return  new Promise(function(resolve,reject){

        let  done=gen(promises.length,resolve);

        for(leti=0;i<promises.length;i++){

            promises[i].then(function(data){

                done(i,data);

            },reject);

        }

    });

}

Promise.race=function(promises){

    return  new  Promise(function(resolve,reject){

        for(leti=0;i<promises.length){

            promises[i].then(resolve,reject);

        }

    });

}

```

相关文章

  • Promise,async,await笔记

    Promise,async,await笔记 Promise 创建promise对象 Promise对象构造方法传入...

  • promise用法

    Promise笔记 1.promise构造函数 Promise是一个构造函数,传参是一个function(reso...

  • promise

    本文是整理阮一峰大神ES6中 Promise 的学习笔记 目录: Promise.prototype.then()...

  • Promise 笔记

    笔记 1. 构造方法 创建promise对象的流程如下����: new Promise(fn) 返回一个prom...

  • Nodejs Promise 读书笔记

    Nodejs Promise 读书笔记 前言 Promise是抽象异步处理对象以及对其进行各种操作的组件。(Pro...

  • 不深入只浅出ES6 Promise | 笔记

    用例子直观的陈列 Promise 的行为作为笔记(如果能帮助新手快速了解 Promise 的使用自然最好,最终还是...

  • es6 Promise 学习笔记2 链式调用

    es6 Promise 学习笔记1 基础代码解析 这期讲个复杂点的例子 then里的回调返回一个 Promise ...

  • Promise笔记

    Promise学习(上): 资料: JavaScript Promise迷你书 原著:azu / 翻译:liubi...

  • Promise笔记

  • Promise笔记

    Promise的含义 Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强...

网友评论

      本文标题:Promise笔记

      本文链接:https://www.haomeiwen.com/subject/auqkoxtx.html