diff --git a/types/event-kit/event-kit-tests.ts b/types/event-kit/event-kit-tests.ts index bad636aee2..8ff96d66e8 100644 --- a/types/event-kit/event-kit-tests.ts +++ b/types/event-kit/event-kit-tests.ts @@ -81,3 +81,8 @@ subscription = emitter.preempt("test-event", value => {}); // Event Emission emitter.emit("test-event"); emitter.emit("test-event", 42); + +async function testEmitAsync() { + await emitter.emitAsync("test-event"); + await emitter.emitAsync("test-event", 42); +} diff --git a/types/event-kit/index.d.ts b/types/event-kit/index.d.ts index e08c980977..c39956191d 100644 --- a/types/event-kit/index.d.ts +++ b/types/event-kit/index.d.ts @@ -104,4 +104,11 @@ export class Emitter implements DisposableLike { /** Invoke the handlers registered via ::on for the given event name. */ // tslint:disable-next-line:no-any emit(eventName: string, value?: any): void; + + /** + * Asynchronously invoke the handlers registered via ::on for the given event name. + * @return A promise that will be fulfilled once all handlers have been invoked. + */ + // tslint:disable-next-line:no-any + emitAsync(eventName: string, value?: any): Promise; }