Promise.resolve() 자세한 설명, 특정 코드 예제가 필요합니다
Promise는 비동기 작업을 처리하기 위한 JavaScript의 메커니즘입니다. 실제 개발에서는 순서대로 실행해야 하는 일부 비동기 작업을 처리해야 하는 경우가 종종 있으며, 이행된 Promise 객체를 반환하기 위해 Promise.resolve() 메서드가 사용됩니다.
Promise.resolve()는 매개변수를 받아들이고 Promise 객체를 반환하는 Promise 클래스의 정적 메서드입니다. 들어오는 매개변수가 Promise 객체인 경우 Promise.resolve()는 객체를 직접 반환합니다. 들어오는 매개변수가 thenable 객체(즉, then 메서드가 있는 객체)인 경우 Promise.resolve()는 객체를 다음으로 변환합니다. Promise 객체를 반환합니다. 들어오는 매개변수가 기본 값(객체 아님)인 경우 기본 값을 결과로 사용하는 Fulfilled Promise가 반환됩니다.
Promise.resolve()의 사용법과 동작은 코드 예제를 통해 자세히 설명됩니다.
예제 1:
Promise.resolve("成功") .then((msg) => { console.log(msg); }) .catch((err) => { console.error(err); }); // 输出:成功
위 예제에서는 Promise.resolve() 메서드를 통해 Fulfilled Promise 객체를 생성했습니다. 이 예에서 수신 매개변수는 "success" 문자열이므로 Promise.resolve("success")는 Fulfilled 상태와 "success" 결과를 갖는 Promise 객체를 직접 반환합니다. 그런 다음 .then() 메서드를 사용하여 Promise 객체의 결과를 처리하고 console.log()를 통해 인쇄합니다.
예제 2:
Promise.resolve(Promise.reject(new Error("失败"))) .then((msg) => { console.log(msg); }) .catch((err) => { console.error(err); }); // 输出:Error: 失败
위 예에서는 Promise.resolve() 메서드를 통해 Rejected 상태의 Promise 객체를 Fulfilled 상태의 Promise 객체로 변환했습니다. 이 예에서 우리가 전달하는 매개변수는 Rejected 상태의 Promise 객체를 반환하는 Promise.reject(new Error("Failure"))입니다. 그런 다음 Promise.resolve()를 사용하여 Promise 객체를 Fulfilled Promise 객체로 변환하고, .catch() 메서드를 통해 Promise 객체의 결과를 처리한 후 console.error()를 통해 인쇄합니다.
예제 3:
Promise.resolve({ name: "张三", age: 18 }) .then((obj) => { console.log(obj.name, obj.age); }) .catch((err) => { console.error(err); }); // 输出:张三 18
위 예에서는 Promise.resolve() 메서드를 통해 Fulfilled Promise 객체를 생성했습니다. 이 예에서 전달된 매개변수는 객체 { name: "Zhang San", age: 18 }이므로 Promise.resolve({ name: "Zhang San", age: 18 })는 상태가 Fulfilled인 객체를 직접 반환합니다. 결과는 이 객체에 대한 Promise 객체입니다. 그런 다음 .then() 메서드를 사용하여 Promise 개체의 결과를 처리하고 console.log()를 통해 개체의 속성 이름과 연령을 인쇄합니다.
요약:
위의 코드 예제를 통해 Promise.resolve() 메서드의 기능이 값을 Fulfilled Promise 객체로 변환하는 것임을 알 수 있습니다. Promise 객체, thenable 객체 및 기본 값을 포함하여 다양한 유형의 매개변수를 허용할 수 있습니다. Promise.resolve() 메서드를 사용하면 모든 유형의 값을 Promise 객체로 쉽게 변환하고 이에 대한 후속 처리를 수행할 수 있습니다.
Promise.resolve() 메서드에서 반환된 Promise 개체는 Fulfilled Promise 개체이므로 후속 처리는 .catch() 메서드를 사용하는 대신 .then() 메서드를 사용하여 직접 처리할 수 있습니다. 비정상적인 상황.
위 내용은 Promise.resolve()에 대해 자세히 알아보세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!