• promise使用总结


    一,Promise实例,只要有then里面有return,就可以无线then

    特别注释:resolve 和 then里面的return  都可以返回Promise实例,如果promise实例触发了reject,都能走到最外层的reject

    function test() {
      return new Promise(resolve => {
        resolve(test2())
      })
    }
    
    function test2() {
      return new Promise((resolve, reject) => {
        if (Math.random() * 10 > 5) {
          resolve([])
        } else {
          reject(null)
        }
      })
    }
    
    test()
      .then(res => {
        console.log('success')
        console.log(res)
        return 1
      })
      .then(res => {
        console.log(res)
        return 2
      })
      .then(res => {
        console.log(res)
        return 3
      })
      .then(res => {
        console.log(res)
      })
      .catch(res => {
      console.log('error')
      console.log(res)
    })

    在then里面return promise

    function test() {
      return new Promise(resolve => {
        resolve()
      })
    }
    
    function test2() {
      return new Promise((resolve, reject) => {
        if (Math.random() * 10 > 5) {
          resolve([])
        } else {
          reject(null)
        }
      })
    }
    
    test()
      .then(res => {
        return test2()
      })
      .then(res => {
        console.log(res)
      })
      .catch(res => {
      console.log('error')
      console.log(res)
    })

    在resolve返回promise实例

    function test() {
      return new Promise(resolve => {
        resolve(test2())
      })
    }
    
    function test2() {
      return new Promise((resolve, reject) => {
        if (Math.random() * 10 > 5) {
          resolve([])
        } else {
          reject(null)
        }
      })
    }
    
    test()
      .then(res => {
        console.log(res)
      })
      .catch(res => {
      console.log('error')
      console.log(res)
    })

     Promise.all正确使用,console.log(num)打印的是一个多维数组,多维数组的长度,等于promise.all(Array)里面Array的长度

        Promise.all([axios(), axios()]).then((num) => {
          console.log(num)
        })
  • 相关阅读:
    虚拟机的类加载机制
    数组
    Intellij快捷键
    Wireshark过滤器语法设置
    Git命令(转)
    Git命令
    字节码指令简介(转)
    Java异常了解
    Class类文件的结构
    垃圾收集器与内存分配策略(六)之内存分配与回收策略
  • 原文地址:https://www.cnblogs.com/zph666/p/11751926.html
Copyright © 2020-2023  润新知