UNPKG

misc-utils-of-mine-generic

Version:

Miscellaneous utilities for JavaScript/TypeScript that I often use

31 lines (28 loc) 794 B
import { Deferred } from '../promise' describe('promise', () => { describe('deferred', () => { it('reject, resolve, status', async () => { class Api { fooReady = new Deferred<String[]>() bar = new Deferred<void, number>() knower() { this.bar.catch(e => { setTimeout(() => this.fooReady.resolve(['1']), 1) }) } } // user var api = new Api() api.knower() setTimeout(() => { expect(api.bar.status).toBe('pending') api.bar.reject(1) expect(api.bar.status).toBe('rejected') }, 10) expect(api.fooReady.status).toBe('pending') var r = await api.fooReady expect(r).toEqual(['1']) expect(api.fooReady.status).toBe('resolved') }) }) })