>  기사  >  웹 프론트엔드  >  Promise 구현에 대한 단계별 튜토리얼

Promise 구현에 대한 단계별 튜토리얼

coldplay.xixi
coldplay.xixi앞으로
2020-09-02 17:22:461626검색

Promise 구현에 대한 단계별 튜토리얼

【관련 학습 권장사항: javascript 비디오 튜토리얼

머리말

많은 JavaScript 초보자들은 콜백 지옥에 지배당하는 것에 대한 두려움을 경험했으며 Promise를 마스터할 때까지 안심하지 못합니다. 구문. 많은 언어에 Promise가 내장되어 있지만 실제로 JavaScript에서 이를 발전시키는 것은 Promise를 지원하는 jQuery 1.5의 $.ajax 재구성이며 그 사용법은 jQuery가 옹호하는 체인 호출과 일치합니다. 나중에 ES6가 탄생하면서 모두가 Universal Promise 시대에 진입하기 시작했습니다. 나중에 ES8에서는 JavaScript의 비동기 작성을 더욱 우아하게 만들기 위해 비동기 구문을 도입했습니다.

오늘은 Promise를 단계별로 구현해 보겠습니다. 아직 Promise를 사용해 본 적이 없다면 이 글을 읽기 전에 Promise 구문을 숙지하는 것이 좋습니다. 기존의

Constructor

Promise/A+ 사양은 Promise 객체가 어디서 오는지 규정하지 않습니다. jQuery에서는 Promise 객체는 $.Deferred()를 호출하여 얻습니다. ES6에서는 Promise 클래스가 인스턴스화됩니다. Promise 객체를 가져옵니다. 여기서는 ES 구문을 사용하여 클래스를 구성하고 인스턴스화를 통해 Promise 개체를 반환합니다. Promise가 이미 존재하므로 이 클래스의 이름을 임시로 Deferred로 지정합니다. Promise/A+ 规范中并没有规定 promise 对象从何而来,在 jQuery 中通过调用 $.Deferred() 得到 promise 对象,ES6 中通过实例化 Promise 类得到 promise 对象。这里我们使用 ES 的语法,构造一个类,通过实例化的方式返回 promise 对象,由于 Promise 已经存在,我们暂时给这个类取名为 Deferred

class Deferred {  constructor(callback) {    const resolve = () => {      // TODO
    }    const reject = () => {      // TODO
    }    try {
      callback(resolve, reject)
    } catch (error) {
      reject(error)
    }
  }
}复制代码

构造函数接受一个 callback,调用 callback 的时候需传入 resolve、reject 两个方法。

Promise 的Promise 구현에 대한 단계별 튜토리얼

Promise 一共分为三个Promise 구현에 대한 단계별 튜토리얼:

Promise 구현에 대한 단계별 튜토리얼
  • Promise 구현에 대한 단계별 튜토리얼rrreee
    생성자는 콜백을 허용합니다. 콜백을 호출할 때 해결 및 거부라는 두 가지 메서드를 전달해야 합니다. Promise 구현에 대한 단계별 튜토리얼

    약속 상태

    약속은 세 가지 상태로 나뉩니다.
    Promise 구현에 대한 단계별 튜토리얼
    • 보류 중 : 대기 중입니다. Promise의 초기 상태입니다. 🎜🎜🎜🎜🎜🎜🎜 🎜🎜

    위 내용은 Promise 구현에 대한 단계별 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    성명:
    이 기사는 learnku.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제