本文整理汇总了TypeScript中rxjs/Rx.Observable.defer方法的典型用法代码示例。如果您正苦于以下问题:TypeScript Observable.defer方法的具体用法?TypeScript Observable.defer怎么用?TypeScript Observable.defer使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类rxjs/Rx.Observable
的用法示例。
在下文中一共展示了Observable.defer方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: expect
observable1 = constructorZone1.run(() => {
return Rx.Observable.defer(() => {
return new Rx.Observable(subscribe => {
log.push('setup');
expect(Zone.current.name).toEqual(constructorZone1.name);
subscribe.next(1);
subscribe.complete();
return () => {
expect(Zone.current.name).toEqual(constructorZone1.name);
log.push('cleanup');
};
});
});
});
示例2: execute
/**
* Executes this command asynchronously.
* Note that this method does not check whether the command is currently executable.
*/
public execute(arg: TArgs = null): Observable<TResult> {
try {
return Observable.defer(() => {
this._synchronizedExcecutionInfo.next(ExecutionInfo.createBegin<TResult>());
return Observable.empty<TResult>();
})
.concat(this.task(arg))
.do(
result => this._synchronizedExcecutionInfo.next(ExecutionInfo.createResult(result)),
null,
() => this._synchronizedExcecutionInfo.next(ExecutionInfo.createEnded<TResult>()))
.catch(ex => {
this._synchronizedExcecutionInfo.next(ExecutionInfo.createFail<TResult>());
this._exceptions.next(ex);
return Observable.throw(ex);
})
.publishLast()
.refCount();
} catch (ex) {
this._exceptions.next(ex);
return Observable.throw(ex);
}
}