promise 지식 포인트 요약
프로미스를 왜 사용하는지
Promise에 대해 말하자면, 우리는 이것이 지역 사회에서 비교적 이상적인 비동기 프로그래밍 해결 방안이라는 것을 안다.프로미스를 파악하려면 먼저 그 이유를 알아야 한다.promise의 제시는 여러 개의 서로 의존하는 코드 간의 끼워넣기 문제를 잘 해결했다. 예를 들어 C 코드는 B 코드의 결과가 필요하고 B 코드는 A 코드의 결과가 필요하다. 전통적인 방안으로 겹겹이 끼워넣는 상황이 발생하여 유지하기 어렵다.
프로미스 대상이 뭐예요?
promise 대상은 총 3가지 상태가 있습니다.
4
promise 대상은 몇 가지 관련 방법이 있습니다.
let promise = new Promise((resolve,reject) => {
//....
resolve('2');
//....
//reject('4');
})
가장 간단하게 대상을 만드는 방법은 Resolve와reject의 상태를 각각 매개 변수, 즉 성공한 정보나 실패할 때의 힌트를 전달하는 것이다. 물론 두 가지 상태가 동시에 있어야 하는 것은 아니다.
n 방법은 두 개의 매개 변수를 받아들인다. 첫 번째는fulfilled상태에서 진행할 절차이고 두 번째 매개 변수는 선택할 수 있다. 이것은 리jected상태에서 실행하는 방법을 가리킨다. 물론catch방법으로 잘못된 상태에서의 방법을 정의하는 것도 추천한다.try와...catch 구조 유사
promise
.then((data) => { //cb
// success
})
.catch((err) => {
// error
});
이 대상은 몇 가지 특징이 있는데,
1. 예를 들어 상태가 바뀌면 더 이상 변화가 일어나지 않는다. 즉pending상태가fulfuilled나rejected로 바뀌면 더 이상 변하지 않는다는 것이다.
let promise = new Promise((resolve,reject) => {
resolve('2');
reject('4');
})
예를 들어 위의 코드는promise가fulfulled상태에 들어간 후에 변화가 발생하지 않기 때문에reject의 조작은 무효입니다.
2. 예를 들어promise 대상이 만든 코드는 동기화되고then 방법은 비동기적이다.
let promise = new Promise((resolve, reject) => {
console.log('1');
resolve('2');
});
promise.then((resolve,reject) => {
console.log(resolve);
})
console.log(3);
// 1 3 2
promise 대상은 창설 후 즉시 실행되기 때문에 출력 1, then 방법은 비동기적으로 실행되며 기다리는 실천 대기열에 놓여 있으며 이번 이벤트가 순환이 끝날 때 실행되기 때문에 먼저 3을 출력하고 마지막에 2를 출력합니다.3. 자발적으로 오류를 던지지 않는다는 점은 특별하다. 이것은 우리가catch 방법이나then의 두 번째 파라미터를 정의하여 오류를 가져와야 한다는 것을 의미한다. 그렇지 않으면 오류가 발견될 수 없다. 4.체인식 구조인 then 함수는 다른 then 함수를 연결할 수 있고 then 함수는 하나의 프로미스 대상을 되돌려줍니다. 따라서 이 프로미스 대상은 다음에 어떤 방법을 집행할지 결정합니다.
promise와 관련된 문제
n 방법과 settimeout이라는 문제는 매우 전형적이다. 사실은 조금만 알면 된다. settimeout은 다음'사건 순환'때부터 실행된다.Promise.then ()은 이벤트 사이클이 끝날 때 실행됩니다.
setTimeout(function () {
console.log('1');
}, 0);
Promise.resolve().then(function () {
console.log('2');
});
console.log('3');
출력 3 2 1
사실 이런 방법들은 그래도 많이 사용하고 많이 연습해야만 비로소 뜻대로 될 수 있다
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.