尝试从服务器获取数据,间隔为服务每10秒。如果退回价格,则停止间隔。代码如下:
但我得到错误: ERROR TypeError:你提供’…
问题出在你身上 switchMap 。它希望返回一个流。你使用时什么都不返回 setInterval 。你可以退货 Observable 回来 interval() 的 rxjs 而不是打电话 setInterval() 。
switchMap
setInterval
Observable
interval()
rxjs
setInterval()
import { interval } from 'rxjs'; ... public Respond() { this.dataService.WaitingForServiceRespond() .pipe(( debounceTime(2000), switchMap((r: any) => { if (!r.price) { return interval(10000).pipe(tap(() => this.Respond())) } else { this.dataService.user.payment = r; console.log('price returned', r); return of('') } }) )) .subscribe(e => { console.log(e) }) }