美文网首页
promise用法

promise用法

作者: xiao_xie_shen | 来源:发表于2019-03-08 10:25 被阅读0次

Promise笔记

1.promise构造函数

Promise是一个构造函数,传参是一个function(resolve,reject),resolve是异步执行成功的回调,reject是异步执行失败的回调。

//构建promise函数如下

//例1
var p = new Promise(function(resolve, reject){
    //做一些异步操作
    setTimeout(function(){
        resolve('success');
    }, 1000);
});


//例2
function executionFuc(){
    var p = new Promise(function(resolve, reject){
    //做一些异步操作
    setTimeout(function(){
        resolve('success');
    }, 1000);
    return p;
});
}

注意!!!以上例子只是new了对象,却会直接执行。为了避免直接执行,如例2所示,一般将该对象放在一个函数内

2.then跟catch的用法

var p = new Promise(function(resolve, reject){
    //做一些异步操作
    setTimeout(function(){
        resolve('success');
    }, 1000);
})
.then(function(data){
    console.log('resolved');
    console.log(data);
    console.log(weisingyi); //weisingyi未定义
})
.catch(function(reason){
    console.log('rejected');
    console.log(reason);
});

.then用来接收成功后的回调,对应resolve;

.then本身能接受两个参数,一个对应成功处理,一个对应失败处理,在执行resolve的回调时,如果代码出错,就会卡死不进入失败处理,所以建议使用.catch

.catch用来接收失败后的回调,对应reject;

3.all的用法

Promise
.all([promise1(), promise2()])
.then(function(datas){
    console.log(datas);
});

all方法传入数组参数,作用是多个异步并行执行,并且在所有异步操作执行完后才执行回调。返回的datas也将是一个数组,分别对应多个异步的返回数据。

4.race的用法

Promise
.race([promise1(), promise2()])
.then(function(datas){
    console.log(datas);
});

race与all相同,都是多个异步并行执行,但是race只返回第一个执行完的结果,后续其余异步将不再返回。例如用于超时跳出功能。

相关文章

  • promise详解

    Promise 用法api 1.基本用法 2.简便写法 Promise.all([]) Promise.race...

  • Promise 对象

    Promise 的含义 基本用法 Promise.prototype.then() Promise.prototy...

  • Promise 对象

    目录:Promise 的含义基本用法Promise.prototype.then()Promise.prototy...

  • Promise扩展基础

    Promise.all基本用法: Promise.race基本用法: 直接调用成功状态: 函异步函数:

  • ES6——Promise

    Promise基本用法示例: let i=100; let promise=new Promise(functio...

  • Promise 的使用

    使用Promise 基本用法 A Promise is an object representing the ev...

  • Promise

    一.Promise常见用法 function doSth() { return New Promise(func...

  • 手写Promise

    $ 正常的promise用法   $ 手写的Promise   # 测试可行性

  • ES6-Promise

    参考链接: 1.阮一峰Promise解读 2.Promise用法讲解 Promise含义 Promise是异步编程...

  • Promise对象

    Promise 多个异步回调: 详情关于promise对象的一些讲解 Promise.all() .catch()用法

网友评论

      本文标题:promise用法

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