>일반적인 문제 >약속을 사용하는 방법

약속을 사용하는 방법

小老鼠
小老鼠원래의
2023-10-12 17:08:291074검색

"Promise"는 비동기 작업을 처리하는 데 사용되는 프로그래밍 개념으로, 비동기 작업의 최종 결과를 나타내는 데 사용할 수 있습니다. Promise 객체에는 보류(진행 중), 이행(성공), 거부(실패)의 세 가지 상태가 있습니다. Promise의 사용법에는 주로 생성자, 인스턴스 메소드(그런 다음 catch, finally) 및 상태 전환이 포함됩니다.

약속을 사용하는 방법

프로그램에서 "약속"은 비동기 작업을 처리하는 데 사용되는 프로그래밍 개념입니다. 비동기 작업의 최종 결과를 나타내는 데 사용할 수 있습니다. Promise 객체에는 보류(진행 중), 이행(성공), 거부(실패)의 세 가지 상태가 있습니다.

Promise 사용법에는 주로 다음 측면이 포함됩니다.

  1. Promise 생성자: "new Promise" 키워드를 사용하여 Promise 객체를 생성할 수 있습니다.
const  promise  =  new  Promise((resolve,  reject)  =>  {   
   //  异步操作   });

생성자에서 첫 번째 매개변수는 비동기 작업을 처리하는 데 사용되는 실행기 함수입니다. 두 번째 매개변수는 Promise의 상태를 보류에서 이행으로 변경하는 확인 함수입니다. 세 번째 매개변수는 거부 함수로, Promise 상태를 보류 중에서 거부로 변경하는 데 사용됩니다.

  1. Promise의 인스턴스 메소드: Promise 객체에는 "Promise.prototype.then"과 "Promise.prototype.catch"라는 두 가지 일반적으로 사용되는 인스턴스 메소드가 있습니다.
  • then: Promise 성공을 처리하는 데 사용되는 콜백 함수입니다.
promise   
   .then((value)  =>  {   
     //  异步操作成功时的回调   
   })   
   .catch((error)  =>  {   
     //  异步操作失败时的回调   
   });
  • catch: Promise 실패를 처리하는 데 사용되는 콜백 함수입니다.
promise   
   .then((value)  =>  {   
     //  异步操作成功时的回调   
   })   
   .catch((error)  =>  {   
     //  异步操作失败时的回调   
   });
  1. Promise의 finally 메서드: Promise가 성공하거나 실패할 때 실행하는 데 사용되는 콜백 함수입니다.
promise   
   .then((value)  =>  {   
     //  异步操作成功时的回调   
   })   
   .catch((error)  =>  {   
     //  异步操作失败时的回调   
   })   
   .finally(()  =>  {   
     //  无论成功或失败都会执行的回调   
   });
  1. Promise의 상태 전환: Promise 객체의 상태는 보류에서 이행으로만 변경되거나 보류에서 거부로 변경될 수 있습니다. 일단 상태가 변환되면 다시 변환할 수 없습니다.
promise   
   .then((value)  =>  {   
     //  异步操作成功时的回调   
   })   
   .catch((error)  =>  {   
     //  异步操作失败时的回调   
   });//  以下代码会报错,因为  promise  的状态已经从  pending  变为  fulfilled  或  rejected,不能再转换   promise.then((value)  =>  {   
   //  异步操作成功时的回调   });

간단히 말하면 Promise는 비동기 작업을 처리하는 데 사용되는 프로그래밍 개념으로, 비동기 작업의 최종 결과를 나타내는 데 사용할 수 있습니다. Promise 객체에는 보류(진행 중), 이행(성공), 거부(실패)의 세 가지 상태가 있습니다. Promise의 사용법에는 주로 생성자, 인스턴스 메소드(그런 다음 catch, finally) 및 상태 전환이 포함됩니다.

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

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