zoukankan      html  css  js  c++  java
  • es6 promise 结束回调地狱

    promise的三种状态:

    pending---进行中

    fulfiled---执行成功

    rejected---执行失败

    var promise = new Promise(function(resolve,reject){
      if(){
        resolve(value);
      }else{
        reject(reeor);
      }
    })
    
    promise.then(function (data){ 
       //success
    }).catch(function(error){ 
     //error  
    })
    多个promise需要执行时可以用promise.all
    promise.all(
      //一系列promise操作
    ).then(function(results){
    }).catch(function(error){
    });
    .all是是promise一建立就开始执行的,不过是等所有的异步都执行完后才会返回给。then。且执行一旦开始,无法终止

    async/await 表示为异步函数,但不会阻塞后面代码的执行,async函数返回的是一个promise对象,await关键字只能放到async函数里边。

    async function timeout() {
        return 'hello world'
    }
    timeout().then(result => {
        console.log(result);
    })

    async function fn(){
        await timeoutFn(1000);
        await timeoutFn(2000);
        return '完成';
    }
    fn().then(success => console.log(success));
    函数内所有的await函数才会返回状态,结果是执行完毕3秒后才会弹出'完成'。
  • 相关阅读:
    TCP和UDP知识总结
    使用 DataX 增量同步数据(转)
    python对象类型
    Asp.net mvc使用SignaIR
    数据库分库分表思路 [转]
    Linux基本操作 [转]
    RabbitMQ入门教程 [转]
    设计模式
    设计模式六大原则
    Javascript实现数组去重 [转]
  • 原文地址:https://www.cnblogs.com/jiajiamiao/p/11671685.html
Copyright © 2011-2022 走看看