角度 2 可观察超时第二个参数类型



我目前正在尝试使 Angular 2 Observable 的 timeout(( 方法正常工作,但在所有教程中都有类似的代码,其中 timeout(( 方法的第二个参数是一个简单的错误:

return this.http.get('http://...')
                .timeout(2000, new Error('Timeout exceeded'));

但是当我复制这段代码时,TypeScript 说第二个参数的类型无效,并希望看到实现接口 IScheduler 的 smth。

解决问题的方法之一是创建实现 IScheduler 接口的新类,但它具有我不熟悉的功能(now(( 方法和任务(。

有谁知道,我应该以这种方式做,还是有其他方法可以让事情顺利进行?如果我想放置一些回调函数而不是错误怎么办?

timeout不将Error作为参数。如果发生超时,它将抛出TimeoutError

如果要引发特定类型的错误,可以使用 timeoutWith 运算符执行以下操作:

import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/throw';
import 'rxjs/add/operator/timeoutWith';
return this.http
  .get('http://...')
  .timeoutWith(2000, Observable.throw(new Error('Boom!')));

相关内容

  • 没有找到相关文章

最新更新