本文整理汇总了TypeScript中@orbit/data.Promise类的典型用法代码示例。如果您正苦于以下问题:TypeScript Promise类的具体用法?TypeScript Promise怎么用?TypeScript Promise使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Promise类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: reset
reset(): Promise<void> {
for (let key in Orbit.globals.localStorage) {
if (key.indexOf(this.namespace) === 0) {
Orbit.globals.localStorage.removeItem(key);
}
}
return Orbit.Promise.resolve();
}
示例2: processor
.then(() => {
let result = Orbit.Promise.resolve();
transform.operations.forEach(operation => {
let processor = transformOperators[operation.op];
result = result.then(() => processor(this, operation));
});
return result;
});
示例3: activate
activate(coordinator, options): Promise<any> {
activatedCount++;
if (activatedCount === 1) {
assert.strictEqual(this.name, 's2', 'expected order');
} else if (activatedCount === 2) {
assert.strictEqual(this.name, 's1', 'expected order');
} else if (activatedCount === 3) {
assert.strictEqual(this.name, 's3', 'expected order');
}
return Orbit.Promise.resolve();
}
示例4: deactivate
deactivate(): Promise<any> {
deactivatedCount++;
if (deactivatedCount === 1) {
assert.strictEqual(this.name, 's3', 'expected reverse order');
} else if (deactivatedCount === 2) {
assert.strictEqual(this.name, 's1', 'expected reverse order');
} else if (deactivatedCount === 3) {
assert.strictEqual(this.name, 's2', 'expected reverse order');
}
return Orbit.Promise.resolve();
}
示例5: handleFetchResponseError
protected handleFetchResponseError(response: any, data?: any): Promise<any> {
let error;
if (response.status >= 400 && response.status < 500) {
error = new ClientError(response.statusText);
} else {
error = new ServerError(response.statusText);
}
error.response = response;
error.data = data;
return Orbit.Promise.reject(error);
}
示例6: activate
activate(coordinator: Coordinator, options: ActivationOptions = {}): Promise<any> {
this._coordinator = coordinator;
if (this._customLogLevel === undefined) {
this._logLevel = options.logLevel;
}
if (this._sourceNames) {
this._sources = this._sourceNames.map(name => coordinator.getSource(name));
} else {
this._sources = coordinator.sources;
}
return Orbit.Promise.resolve();
}
示例7: activate
activate(options: ActivationOptions = {}): Promise<void> {
if (!this._activated) {
if (options.logLevel === undefined) {
options.logLevel = this._defaultActivationOptions.logLevel;
}
this._currentActivationOptions = options;
this._activated = this.strategies.reduce((chain, strategy) => {
return chain
.then(() => strategy.activate(this, options))
}, Orbit.Promise.resolve());
}
return this._activated;
}
示例8: deactivate
deactivate(): Promise<void> {
if (this._activated) {
return this._activated
.then(() => {
return this.strategies.reverse().reduce((chain, strategy) => {
return chain
.then(() => strategy.deactivate());
}, Orbit.Promise.resolve());
})
.then(() => {
this._activated = null;
});
} else {
return Orbit.Promise.resolve();
}
}
示例9: _push
_push(transform: Transform): Promise<Transform[]> {
const requests = getTransformRequests(this, transform);
if (this.maxRequestsPerTransform && requests.length > this.maxRequestsPerTransform) {
return Orbit.Promise.resolve()
.then(() => {
throw new TransformNotAllowed(
`This transform requires ${requests.length} requests, which exceeds the specified limit of ${this.maxRequestsPerTransform} requests per transform.`,
transform);
});
}
return this._processRequests(requests, TransformRequestProcessors)
.then(transforms => {
transforms.unshift(transform);
return transforms;
});
}
示例10: _processRequests
protected _processRequests(requests, processors): Promise<Transform[]> {
let transforms: Transform[] = [];
let result: Promise<void> = Orbit.Promise.resolve();
requests.forEach(request => {
let processor = processors[request.op];
result = result.then(() => {
return processor(this, request)
.then(additionalTransforms => {
if (additionalTransforms) {
Array.prototype.push.apply(transforms, additionalTransforms);
}
});
});
});
return result.then(() => transforms);
}