JS非同期関数、promise
5315 ワード
ひどうきかんすう
//비동기 함수 setTimeout
//호출과 동시에 종료되기 때문에 상위 스코프에 기대한 대로 값을 할당하지 못한다
let number = 1;
setTimeout(() => number = 2, 1000);
console.log(number); //1
Promiseオブジェクトによるコールバックヘルプの解析
//Promise의 후속 처리 메소드 then
//첫 번째 콜백 함수는 fulfilled상태가 되면 호출되고, 비동기 처리 결과를 인수로 받는다
//두 번째 콜백 함수는 rejected상태가 되면 호출되고, 프로미스의 에러를 인수로 받는다
//then은 항상 Promise 객체를 반환한다.
//then의 콜백 함수가 Promise를 반환하면 그 Promise 객체를 반환
//Promise가 아닌 값을 반환하면 그 값을 value로 한 Promise객체를 반환한다.
let promiseFul = new Promise(resolve => resolve("비동기 처리 성공"))
.then((res) => console.log(res), (res) => console.error(res)); //비동기 처리 성공
let promiseRej = new Promise((_, reject) => reject(new Error("비동기 처리 실패")))
.then((res) => console.log(res), (res) => console.error(res)); //Error: 비동기 처리 실패
ソース李雄模、モダンjavascript Deep Dive(2021)
Reference
この問題について(JS非同期関数、promise), 我々は、より多くの情報をここで見つけました https://velog.io/@haribo/1021テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol