약속 방법 - 한눈에
목차
그들은 "약속은 성취되어야 한다"고 말합니다. 진실은- JavaScript에서는 거부될 수도 있습니다.
참고: 이 블로그에서는 asynchronous programming 에 대한 기본적인 이해가 있다고 가정합니다.
약속하다
약속 상태
Pending: This is the initial state of a promise. This depicts that the task is in progress.
Fulfilled: If the task was successfully done, then the promise returns a fulfilled state.
Rejected: If the task failed, then the promise returns a rejected state.
Settled: Once the promise is resolved or rejected, we say that the promise has been settled.
새 약속 만들기
const myPromise = new Promise((resolve, reject) => {
const success = true;
if (success) {
resolve("Promise Fulfilled!");
} else {
reject("Promise Rejected!");
}
});
console.log(myPromise);
를 실행하여 Promise의 상태를 알아봅시다.Pending 상태의 Promise 객체를 얻습니다.
약속 처리기
그 다음에()
syntax: promiseObj.then(callBackFunction)
myPromise.then((res) => console.log(res));
이렇게 하면 Promise Fulfilled!
가 출력으로 반환됩니다. 약속이 거부되었다면 오류가 발생했을 것입니다. 잡다()
syntax: promiseObj.then(callBackFunction).catch(callBackFunction)
myPromise.then((res) => console.log(res)).catch((e) => console.log(e));
이렇게 하면 Promise Rejected!
가 출력으로 반환됩니다. 마지막으로()
syntax: promiseObj.then(callBackFunction).catch(callBackFunction).finally(callbackFunction)
myPromise.then((res) => console.log(res)).catch((e) => console.log(e));
이렇게 하면 Promise Rejected!
가 출력으로 반환됩니다. 약속 방법
These methods are used to handle multiple promises
약속.모두()
const myPromise1 = new Promise((resolve, reject) => {
const success = true;
if (success) {
resolve("Promise Fulfilled 1!");
} else {
reject("Promise Rejected 1!");
}
});
const myPromise2 = new Promise((resolve, reject) => {
const success = true;
if (success) {
resolve("Promise Fulfilled 2!");
} else {
reject("Promise Rejected 2!");
}
});
const myPromise3 = new Promise((resolve, reject) => {
const success = true;
if (success) {
resolve("Promise Fulfilled 3!");
} else {
reject("Promise Rejected 3!");
}
});
Promise.all([myPromise1, myPromise2, myPromise3]).then((res) =>
console.log(res)
// output
// ["Promise Fulfilled 1!", "Promise Fulfilled 2!", "Promise Fulfilled 3!"]
);
약속.any()
const myPromise1 = new Promise((resolve, reject) => {
const success = false;
if (success) {
resolve("Promise Fulfilled 1!");
} else {
reject("Promise Rejected 1!");
}
});
const myPromise2 = new Promise((resolve, reject) => {
const success = true;
if (success) {
resolve("Promise Fulfilled 2!");
} else {
reject("Promise Rejected 2!");
}
});
const myPromise3 = new Promise((resolve, reject) => {
const success = true;
if (success) {
resolve("Promise Fulfilled 3!");
} else {
reject("Promise Rejected 3!");
}
});
Promise.any([myPromise1, myPromise2, myPromise3]).then((res) =>
console.log(res)
// output
// "Promise Fulfilled 2!"
);
약속.allSettled()
const myPromise1 = new Promise((resolve, reject) => {
const success = false;
if (success) {
resolve("Promise Fulfilled 1!");
} else {
reject("Promise Rejected 1!");
}
});
const myPromise2 = new Promise((resolve, reject) => {
const success = true;
if (success) {
resolve("Promise Fulfilled 2!");
} else {
reject("Promise Rejected 2!");
}
});
const myPromise3 = new Promise((resolve, reject) => {
const success = true;
if (success) {
resolve("Promise Fulfilled 3!");
} else {
reject("Promise Rejected 3!");
}
});
Promise.allSettled([myPromise1, myPromise2, myPromise3]).then((res) =>
console.log(res));
// output
/*
[
{
status: "rejected"
reason: "Promise Rejected 1!"
},
{
status: "fulfilled"
value: "Promise Fulfilled 2!"
},
{
status: "fulfilled"
value: "Promise Fulfilled 3!"
}
]
*/
약속.경주()
const myPromise1 = new Promise((resolve, reject) => {
const success = false;
if (success) {
resolve("Promise Fulfilled 1!");
} else {
reject("Promise Rejected 1!");
}
});
const myPromise2 = new Promise((resolve, reject) => {
const success = true;
if (success) {
resolve("Promise Fulfilled 2!");
} else {
reject("Promise Rejected 2!");
}
});
const myPromise3 = new Promise((resolve, reject) => {
const success = true;
if (success) {
resolve("Promise Fulfilled 3!");
} else {
reject("Promise Rejected 3!");
}
});
Promise.race([myPromise1, myPromise2, myPromise3]).then((res) =>
console.log(res)
// output
// "Promise Rejected 1!"
);
요약
참조
Reference
이 문제에 관하여(약속 방법 - 한눈에), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/aditi05/promises-methods-at-a-glance-4d88텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)