Promise

1、什么是promise

Promise是异步编程的一种解决方案,将网络请求和回调操作分离

clipboard


2、什么情况下会用到Promise

一般情况下,有异步操作时,会使用Promise对这个异步操作进行封装


3、Promise的基本语法

//1、实用 timeout
/*  setTimeout(() => {
    console.info("hello,world!!!")
  },2000);*/

  // 参数 -> 函数
  //resolve,reject 本身也是函数
  //链式编程
  new Promise((resolve,reject) => {
    //类似于第一次网络请求的代码
    setTimeout(() => {
      resolve()  //一旦调用了resolve(),就会跳转到 then
    },2000)
  }).then(() => {
    //第一次网络请求后回调执行的代码
    console.info("first request!!!")
    console.info("first request!!!")
    console.info("first request!!!")
    console.info("first request!!!")

    return new Promise((resolve,reject) => {
      //类似于第二次网络请求的代码
      setTimeout(() => {
        resolve()  //一旦调用了resolve(),就会跳转到 then
      },2000)
    }).then(() => {
      //第二次网络请求后回调执行的代码
      console.info("second request!!!")
      console.info("second request!!!")
      console.info("second request!!!")
      console.info("second request!!!")

    })
  })

  //什么情况下会用到promise
  //一般情况下是有异步操作时,使用Promise对这个异步操作进行封装
  //什么情况下会用到promise
//一般情况下是有异步操作时,使用Promise对这个异步操作进行封装
new Promise((resolve,reject) => {
  setTimeout((data)=> {
    //成功的时候调用resolve
    //resolve(data)
    //失败的时候调用reject
    reject("error message")
  },2000)
}).then((data) => {
  
}).catch(err => {
  
})
原文地址:https://www.cnblogs.com/houchen/p/14619887.html