Ben bir sürümünü annoate yazmaya çalışıyordu reflect- buradan söz yöntemiyle https://stackoverflow.com/a/31424853/1828637
function reflectPromise(p){
return p.then(data => ({
data,
resolved: true
}))
.catch(error => ({
error,
rejected: true
}));
}
Ne yapar bir söz alır ve çözülmesi veya reddedilir başka söz döndürür.
şeyler ben pseudocode ile yapmaya çalışıyorum:
- Beyan
dataolduğunutypeof ResolveValue(p) - Beyan
errorolduğunutypeof RejectValue(p) - Diğerleri test edebilirsiniz beyan
const didReject = !!(await (reflectedPromise(somePromise)).rejected(bu döndüren çözülmesi vaatlerle için ne yapacağını{ data: xxx, resolved:true }açmak edilir)undefinediçintrue. Şu bulduğumda!!blah.rejectedtypescript bana diyorProperty 'rejected' does not exist on type
Bu defa ne var:
function reflectPromise(p: Promise<any>): Promise<
{ data: any, resolved: boolean, rejected: void } |
{ error: any, resolved: void, rejected: boolean }
> {
return p.then(data: any) => ({
data,
resolved: true
}))
.catch((error: any) => ({
error,
rejected: true
}));
}













