Promise 기타 고려사항
1955 단어 JavaScriptpromiseJavaScript
기타 고려사항
저자는 기타 고려사항 이라지만, 내 입장에선 왜 이제서야 알려주나 하는 생각이 들며, 중요했던 글입니다.
- executor 내부에서 에러가 throw 된다면 해당 에러로 reject 가 수행됩니다.
- executor 의 리턴 값은 무시됩니다.
- 첫 번째 reject 혹은 resolve 만 유효합니다. (두 번째부터는 무시됩니다. 이미 해당 함수가 호출되었다면 throw 또한 무시됩니다.)
일반 OOP에서 class의 constructor가 void이거나 무시되는 것처럼...
async: 비동기 작업을 만드는 손쉬운 방법
- 함수에 async 키위드를 붙입니다.
- new Promise... 부분을 없애고 executor 본문 내용만 남깁니다.
- resolve(value); 부분을 return value; 로 변경합니다.
- reject(new Error(…)); 부분을 throw new Error(…); 로 수정합니다.
- Just calling
- Awaiting
- Returning
- Return-awaiting
https://javascript.info/async-await
async function f() {
return 1;
}
f().then(alert); // 1
===
async function f() {
return Promise.resolve(1);
}
f().then(alert); // 1
,
async function f() {
await Promise.reject(new Error("Whoops!"));
}
===
async function f() {
throw new Error("Whoops!");
}
https://developpaper.com/question/how-to-pass-multiple-parameters-in-resolve-in-js-es6-promise/
resolve() can only accept and process one parameter. Extra parameters will be ignored. That’s what spec says.
With array wrap, you can transfer multiple parameters, but the result of resolve is naturally an array.
Author And Source
이 문제에 관하여(Promise 기타 고려사항), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@youngkiu/Promise-기타-고려사항저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)