本文整理匯總了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);
}
}