>  기사  >  웹 프론트엔드  >  자바스크립트 약속

자바스크립트 약속

王林
王林원래의
2024-07-18 10:37:15921검색

Image description

JavaScript Promise는 비동기 작업을 관리하는 편리한 방법 중 하나입니다. 약속은 미래에 성취되거나 실패할 수 있는 가치를 나타냅니다. 비동기 작업의 결과를 관리하고 콜백 함수의 문제를 줄이는 데 사용됩니다.

약속의 식탁

Image description

약속

만들기

Promise 생성자는 JavaScript에서 Promise를 생성하는 데 사용됩니다.

let myPromise = new Promise((resolve, reject) => {
    let success = true; // Bu yerda sizning asinxron operatsiyangiz bo'lishi mumkin

    if (success) {
        resolve("Bu operatsiya muvaffaqiyatli tugadi!");
    } else {
        reject("Bu operatsiya muvaffaqiyatsiz tugadi.");
    }
});

  • 해결
  • 거절

해결 및 거부 함수는 JavaScript Promise 비동기 작업의 결과를 제어하는 ​​데 사용됩니다.

해결

resolve 함수는 Promise가 성공적으로 실행되면 호출됩니다. 이 함수는 값을 인수로 사용하고 이 값은 .then() 메서드에 전달됩니다.

let Promise = new Promise((resolve, reject) => {
    let success = true; // Bu yerda sizning asinxron operatsiyangiz bo'lishi mumkin

    if (success) {
        resolve("Bu operatsiya muvaffaqiyatli tugadi!");
    }
});

위의 예에서 성공 변수가 true이면 해결 함수가 호출되고 "이 작업이 성공적으로 완료되었습니다!" 값을 전송합니다.

then 메소드:
를 통해 cansole.log에 결과를 출력합니다.

Promise.then((result) => {
    console.log(result); // "Bu operatsiya muvaffaqiyatli tugadi!" ni cansole.log da chiqaradi
});

거절

reject 함수는 Promise가 실패할 때 호출됩니다. 이 함수는 오류 또는 실패에 대한 정보를 인수로 사용하고 이 값은 .catch() 메서드에 전달됩니다.

let mPromise = new Promise((resolve, reject) => {
    let success = false; // Bu yerda sizning asinxron operatsiyangiz bo'lishi mumkin

    if (!success) {
        reject("Bu operatsiya muvaffaqiyatsiz tugadi.");
    }
});

위의 예에서 성공 변수가 false인 경우 거부 함수가 호출되고 "이 작업은 실패했습니다." 값을 전송합니다.

mPromise
    .then((result) => {
        console.log(result); // Bu yerga kirmaydi keyingi blockga o'tadi
    })
    .catch((error) => {
        console.error(error); // "Bu operatsiya muvaffaqiyatsiz tugadi." ni cansole.logda chop  etadi
    });

Image description

위 내용은 자바스크립트 약속의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.