Promise

Posted congtt

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Promise相关的知识,希望对你有一定的参考价值。

// Promise介绍

// 在 JS 中,实现异步编程,一般就是通过 回调函数 的方式来实现的,回调函数就会形成下面的函的回调地狱的问题,代码看上去就会比较恶心。

$.ajax({
  success: function () {
    $.ajax({
      success: function () {
        $.ajax({
          success: function () {

          }
        })
      }
    })
  }
})

 

技术分享图片

// Promise 的出现是为了解决 回调地狱 问题,使用Promise后,让代码的开发体验更优雅

 1 使用链式编程的方式,来代替原始的回调函数
 2 能够使用同步编程的思维来写异步代码

// Promise 理解为一个容器,这个容器中封装了异步操作,那么,Promise会保证这个异步操作将来一定会发生,不管是成功还是失败,并且会将这个异步操作的结果通知到你

// Promise 中的三个状态:
// 1 pending 等待
// 2 fufilled 成功
// 3 rejected 失败

 

 

// Promise语法

Promise 是一个构造函数

参数:是一个回调函数
回调函数有两个参数: resolve / reject
resolve 表示成功的函数
reject 表示失败的函数

const p = new Promise(function (resolve, reject) {

  // 封装一个异步操作
  setTimeout(function () {

    resolve()

    reject()
  }, 1000)

})

p
  // 当Promise中调用 resolve() ,这个函数会执行
  .then(function (data) {
    console.log(‘then:异步操作成功了‘, data);
  })
  // 当Promise中调用 reject() ,这个函数会执行
  .catch(function (err) {
    console.log(‘catch: 异步操作失败了‘, err);
  })

 




























以上是关于Promise的主要内容,如果未能解决你的问题,请参考以下文章

# Promise的简单理解和基本使用

# Promise的简单理解和基本使用

Promise笔记

异步总结

手写题整理

浅析promise