美文网首页
Promise - 06 Promise 相对与纯回调函数的优势

Promise - 06 Promise 相对与纯回调函数的优势

作者: 有情怀的程序猿 | 来源:发表于2020-02-17 15:18 被阅读0次

Promise 相对与纯回调函数的优势

  • 制定调用函数的方式更灵活
    • 纯函数必须在启动异步任务前制定回调函数
    • promise 绑定回调函数就很灵活, 启动异步任务前 / 甚至可以在异步函数之后绑定回调函数也是可以拿到返回数据
  • 支持链式调用, 可以解决回调地狱问题
纯回调函数
// 启动异步操作, 必须连带 成功回调和失败回调一起传入
createAudioFile (config,successCallback, failureCallback)
Promise 甚至可以在异步结束后再去拿结果都可以
const p = new Promise((resolve, reject) => {  // 执行器函数
// 这里会执行异步操作

 setTimeout(() => {
    const time = Date.now() // 如果时间等于基数表示失败,偶数表示成功
    // 如果成功了, 调用resolve(v)
    if (time %2 === 0) {
      resolve('成功数据' + time) // 括号中可以传任何数据(字符串、数组、对象,甚至是错误)
    }else { // 如果失败了, 调用reject(r)
      reject('失败数据' + time) // 括号中可以传任何数据(字符串、数组、对象,甚至是错误)
  }

  },1000)
})

// Promise 发起异步一秒就结束了, 但是我们这里在结束后2秒再去拿结果也是可以拿到的
setTimeout({
  p.then(
     onResolved =>  {
      console.log(onResolved)
    },
    onRejected=>{
      console.log(onRejected)
    }
  )
},3000)

相关文章

  • Promise - 06 Promise 相对与纯回调函数的优势

    Promise 相对与纯回调函数的优势 制定调用函数的方式更灵活纯函数必须在启动异步任务前制定回调函数promis...

  • 如何正确的使用Promise

    promise用法 对比传统回调函数与Pormise的写法 传统回调函数 Promise的写法 Promise要比...

  • Promise

    1.为什么需要Promise 回调地狱回调函数中嵌套回调Promise解决了回调地狱 2. Promise 的基本...

  • ES6 - promise() 函数解决嵌套回调(回调地狱)

    什么是嵌套回调(回调地狱) promise() 函数基本用法 以上代码,浏览器打印内容: promise() 函数...

  • 解决异步问题——promise

    promise介绍 promise主要是为了解决嵌套回调的问题,使代码更加简洁,promise将嵌套的回调函数改成...

  • promise和async

    Promise 回调地狱 Promise概念 Promise是ES6中新增的一个构造函数。 目的解决回调地狱的问题...

  • Promise

    Promise 用于异步操作,主要解决回调地狱问题 Promise是个构造函数, new Promise()可以获...

  • JavaScript ES6 async/await的简单学习d

    传统回调函数 Promise async/await

  • async & await 用法

    async 函数总是会返回 Promise 对象,Promise.then() 回调方法的参数是 async 函数...

  • ES6之Promise

    Promise用法讲解 避免回调地狱,解决异步多次回调问题 Promise构造函数接受两个个函数作为参数,该函数的...

网友评论

      本文标题:Promise - 06 Promise 相对与纯回调函数的优势

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