1234567891011121314151617181920212223242526272829303132333435363738 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.Deferred = void 0;
- const TimeoutError_1 = require("./TimeoutError");
- class Deferred {
- constructor() {
- this._promise = new Promise((resolve, reject) => {
- this._reject = reject;
- this._resolve = resolve;
- });
- }
- registerTimeout(timeoutInMillis, callback) {
- if (this._timeout)
- return;
- this._timeout = setTimeout(() => {
- callback();
- this.reject(new TimeoutError_1.TimeoutError('Operation timeout'));
- }, timeoutInMillis);
- }
- _clearTimeout() {
- if (!this._timeout)
- return;
- clearTimeout(this._timeout);
- }
- resolve(value) {
- this._clearTimeout();
- this._resolve(value);
- }
- reject(error) {
- this._clearTimeout();
- this._reject(error);
- }
- promise() {
- return this._promise;
- }
- }
- exports.Deferred = Deferred;
- //# sourceMappingURL=Deferred.js.map
|