n8n/packages/workflow/src/DeferredPromise.ts

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

15 lines
509 B
TypeScript
Raw Normal View History

2019-06-23 03:35:23 -07:00
// From: https://gist.github.com/compulim/8b49b0a744a3eeb2205e2b9506201e50
export interface IDeferredPromise<T> {
promise: () => Promise<T>;
reject: (error: Error) => void;
resolve: (result: T) => void;
}
export async function createDeferredPromise<T = void>(): Promise<IDeferredPromise<T>> {
return await new Promise<IDeferredPromise<T>>((resolveCreate) => {
2019-06-23 03:35:23 -07:00
const promise = new Promise<T>((resolve, reject) => {
resolveCreate({ promise: async () => await promise, resolve, reject });
2019-06-23 03:35:23 -07:00
});
});
}