zoukankan      html  css  js  c++  java
  • ES6 Promise多步骤操作

    Promise 解决es5中的回调地狱
     
    什么是回调地狱?
    function a() {
      进行业务逻辑操作
      function b() {
        进行业务逻辑操作
        function c() {
          进行业务逻辑操作
        }
      }
    }
    这就是回调地狱。。。。。。
     
    Promise
    let state = 1
    function state1(resolve, reject) {
      console.log('start');
    if (state == 1) {
      resolve('start 成功')
    } else {
      reject('start 错误')
      }
    }
    function state2(resolve, reject) {
      console.log('next');
      if (state == 1) {
        resolve('next 成功')
      } else {
        reject('next 错误')
      }
    }
    function state3(resolve, reject) {
      console.log('end');
      if (state == 1) {
        resolve('end 成功')
      } else {
        reject('end 错误')
      }
    }
    new Promise(state1).then(function (val) {
      console.log(val); // val是返回值
      return new Promise(state2)
    }).then(function (val) {
      console.log(val); // val是返回值
      return new Promise(state3)
    }).then(function (val) {
      console.log(val); // val是返回值
    })
     
    .all()方法 在state1,state2执行完之后 ,然后再执行state3
    Promise.all( [ new Promise(state1) , new Promise(state2) ] ).then (state3)

    .race()方法 在state1,state2任意一个执行完之后 ,然后再执行state3
    Promise.all( [ new Promise(state1) , new Promise(state2) ] ).then (state3)
  • 相关阅读:
    CPT104-labs
    Java-数据结构-ArrayList
    INT104-lab13[Parzen Window Method][此方法无数据集划分]
    INT104-lab12 [KNN Algorithm][lambda表达式]
    INT104-lab11 [聚类] [iris数据集] [K-means Algorithm]
    Nginx配置https兼容http
    JS获取整个网页html代码
    nginx重启生效conf文件的修改
    WampServer
    在win10系统中,开启hyper-v要满足下列条件
  • 原文地址:https://www.cnblogs.com/sunyang-001/p/10859315.html
Copyright © 2011-2022 走看看