【发布时间】:2017-03-30 06:43:18
【问题描述】:
我目前正在尝试使 Angular 2 Observable 的 timeout() 方法正常工作,但是在所有教程中都有类似的代码,其中 timeout()的第二个参数> 方法是一个简单的错误:
return this.http.get('http://...')
.timeout(2000, new Error('Timeout exceeded'));
但是当我复制这段代码时,TypeScript 说第二个参数的类型无效,并希望看到实现接口 IScheduler 的 smth。
解决问题的方法之一是创建实现 IScheduler 接口的新类,但它具有我不熟悉的功能 (now() 方法和 Tasks)。
有谁知道,我应该这样做还是有其他方法可以使事情正常进行?如果我想放置一些回调函数而不是错误怎么办?
【问题讨论】:
-
.timeout(2000, {errorToSend: new Error('Timeout exceeded')});呢? -
@GünterZöchbauer,试过了,但它说 Argument of type '{ errorToSend: Error; }' 不可分配给“IScheduler”类型的参数。对象字面量只能指定已知属性,而 'ischeduler' 类型中不存在 'errorToSend'。 而在 ReactiveX github 中,他们 say 表示它不再接受此参数
-
文档好像不是最新的。 github.com/ReactiveX/rxjs/blob/… 中不再有错误参数另请参阅github.com/ReactiveX/rxjs/blob/…
标签: angular http timeout observable