Yo estaba tratando de escribir annoate una versión del reflectmétodo de la promesa de aquí - https://stackoverflow.com/a/31424853/1828637
function reflectPromise(p){
return p.then(data => ({
data,
resolved: true
}))
.catch(error => ({
error,
rejected: true
}));
}
Lo que hace es toma una promesa, y devuelve otra promesa cuando se resuelva o se rechaza.
Las cosas que estoy tratando de hacer con pseudocódigo:
- Declaran que
dataestypeof ResolveValue(p) - Declaran que
errorestypeof RejectValue(p) - Declaran que otros pueden probar
const didReject = !!(await (reflectedPromise(somePromise)).rejected(lo que esto hará promesas para resolver, que devuelve{ data: xxx, resolved:true }) se gireundefinedatrue. Actualmente cuando lo haga!!blah.rejectedmecanografiado me dice:Property 'rejected' does not exist on type
Esto es lo que tengo hasta el momento:
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
}));
}













