https://github.com/angular/angular
Raw File
Tip revision: 7f77ce1a4890d6dc2578e0879c7b0f7aa1ad4973 authored by atscott on 09 June 2020, 00:03:59 UTC
release: cut the v10.0.0-rc.3 release
Tip revision: 7f77ce1
async_test_completer.ts
/**
 * @license
 * Copyright Google LLC All Rights Reserved.
 *
 * Use of this source code is governed by an MIT-style license that can be
 * found in the LICENSE file at https://angular.io/license
 */

/**
 * Injectable completer that allows signaling completion of an asynchronous test. Used internally.
 */
export class AsyncTestCompleter {
  // TODO(issue/24571): remove '!'.
  private _resolve!: (result: any) => void;
  // TODO(issue/24571): remove '!'.
  private _reject!: (err: any) => void;
  private _promise: Promise<any> = new Promise((res, rej) => {
    this._resolve = res;
    this._reject = rej;
  });
  done(value?: any) {
    this._resolve(value);
  }

  fail(error?: any, stackTrace?: string) {
    this._reject(error);
  }

  get promise(): Promise<any> {
    return this._promise;
  }
}
back to top