Angular 5 调用函数并在一定时间后退出

Angular 5 Call Function and exit after a certain time

我不知道如何实现这个规范:

我调用方法 update() :

this.contratService.update(lineSelected.id).subscribe(response => {
   if (response.status === 201) {
       ....
   }
}, error => {
   console.log('Error in contrat update');
});

我想在之前调用更新后等待 30 秒以显示另一个错误。

如何实现此功能?

注意:我理解setTimeout,在一定时间后执行指令注意在调用方法后等待一定时间

谢谢

您可以使用 rxjstimeout() 管道运算符;

import { timeout } from 'rxjs/operators';
...


this.contratService.update(lineSelected.id)
  .pipe(
     timeout(30000)
   )
  .subscribe(response => {
     if (response.status === 201) {
         ....
     }
  }, error => {
   console.log('Error in contrat update');
});

参考:https://rxjs-dev.firebaseapp.com/api/operators/timeout