Software Engineering :: Programming :: Languages :: JavaScript :: Promise :: Async-Await :: PromiseToResolve
⪼ Made with 💜 by Polyglot.
export type Maybe<T> = T | null | undefined;
export type PromiseToResolve<T> = Promise<{ data: Maybe<T> ; error: Maybe<Error> }>;
export const promiseToResolve = <T>(promise: Promise<T>): PromiseToResolve<T> => {
return new Promise((resolve) => {
return promise
.then(data => resolve({ data, error: null }))
.catch(error => resolve({ data: null, error }));
});
};
const main = async () => await (await fetch('https://jsonplaceholder.typicode.com/todos/3')).json();
(async () => {
const { data, error } = await promiseToResolve(main());
if (error) {
console.error(error); return;
}
console.dir({ data, error});
})();
// (async () => {
// try {
// const data = await main();
// console.log(data);
// } catch (error) {
// console.error(error);
// }
// })();
type IPromiseToResolve<T> = Promise<{data: Maybe<T>, error: Maybe<Error>}>