Skip to content

Commit

Permalink
feat: [createControledPromise] improve example
Browse files Browse the repository at this point in the history
  • Loading branch information
GreatAuk committed Nov 9, 2024
1 parent 230fce3 commit 3d1862d
Showing 1 changed file with 11 additions and 4 deletions.
15 changes: 11 additions & 4 deletions packages/core/src/createControledPromise.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,25 @@ export interface ControlledPromise<T = void> extends Promise<T> {

/**
* Return a Promise with `resolve` and `reject` methods
*
* @linkcode https://github.com/GreatAuk/utopia-utils/blob/main/packages/core/src/createControledPromise.ts
* @example
* ```
* const promise = createControlledPromise()
*
* await promise
*
* // in anther context:
* promise.resolve(data)
* ```
*
* @example
* ```
* const promise = createControlledPromise()
*
* promise.then(res => console.log(res)) // => 111
* // in anther context:
* promise.resolve(111)
* ```
*/
export function createControlledPromise<T>(): ControlledPromise<T> {
export function createControlledPromise<T = void>(): ControlledPromise<T> {
let resolve: any, reject: any
const promise = new Promise<T>((_resolve, _reject) => {
resolve = _resolve
Expand Down

0 comments on commit 3d1862d

Please sign in to comment.