ฉันจะปฏิเสธคำสัญญาที่ส่งคืนโดยฟังก์ชัน async / await ได้อย่างไร
เช่นเดิม
foo(id: string): Promise<A> {
return new Promise((resolve, reject) => {
someAsyncPromise().then((value)=>resolve(200)).catch((err)=>reject(400))
});
}
แปลเป็น async / รอคอย
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; }); }