async / await 함수가 반환 한 약속을 어떻게 거부 할 수 있습니까?
예를 들어 원래
foo(id: string): Promise<A> {
return new Promise((resolve, reject) => {
someAsyncPromise().then((value)=>resolve(200)).catch((err)=>reject(400))
});
}
async / await로 번역
async foo(id: string): Promise<A> {
try{
await someAsyncPromise();
return 200;
} catch(error) {//here goes if someAsyncPromise() rejected}
return 400; //this will result in a resolved promise.
});
}
이 경우 어떻게이 약속을 올바르게 거절 할 수 있습니까?
Promise
생성자 antipattern을 피하십시오 ! 첫 번째 스 니펫도 작성되었습니다foo(id: string): Promise<A> { return someAsyncPromise().then(()=>{ return 200; }, ()=>{ throw 400; }); }