Starałem się wpisać annoate wersję reflectmetody obietnica tutaj - https://stackoverflow.com/a/31424853/1828637
function reflectPromise(p){
return p.then(data => ({
data,
resolved: true
}))
.catch(error => ({
error,
rejected: true
}));
}
Co robi to bierze obietnicę i zwraca kolejną obietnicę, gdy jest rozwiązane lub odrzucone.
Rzeczy, Próbuję zrobić z Pseudokod:
- Deklaruje, że
datajesttypeof ResolveValue(p) - Deklaruje, że
errorjesttypeof RejectValue(p) - Oświadczam, że inni mogą przetestować
const didReject = !!(await (reflectedPromise(somePromise)).rejected(co ten zrobi dla rozwiązanych obietnic, która zwraca{ data: xxx, resolved:true }) jest włączyćundefineddotrue. Obecnie, gdy robię!!blah.rejectedmaszynopis mówi do mnieProperty 'rejected' does not exist on type
To jest to, co mam do tej pory:
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
}));
}













