Snažil jsem se psát annoate verzi reflectmetody slibují odtud - https://stackoverflow.com/a/31424853/1828637
function reflectPromise(p){
return p.then(data => ({
data,
resolved: true
}))
.catch(error => ({
error,
rejected: true
}));
}
Co to udělá, je trvá slib a vrátí další slib, když je vyřešen nebo zamítnuta.
To, co se snažím dělat s pseudokódu:
- Prohlásit, že
datajetypeof ResolveValue(p) - Prohlásit, že
errorjetypeof RejectValue(p) - Prohlásit, že ostatní mohou vyzkoušet
const didReject = !!(await (reflectedPromise(somePromise)).rejected(co to udělá za vyřešených sliby, který se vrací{ data: xxx, resolved:true }) se obrátitundefinednatrue. V současné době, kdy já!!blah.rejectedstrojopisem mi říká:Property 'rejected' does not exist on type
To je to, co mám tak daleko:
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
}));
}













