尝试从服务器获取数据,每10秒间隔一次到服务。 如果返回了价格,则停止间隔。下面的代码:
但我收到错误消息:
错误TypeError:您提供了“未定义”流的位置 预期。您可以提供一个Observable,Promise,Array或Iterable。
代码:
public Respond() {
this.dataService.WaitingForServiceRespond()
.pipe((
debounceTime(2000),
switchMap((r: any) => {
if (!r.price) {
setInterval(() => {
return this.Respond();
}, 10000)
} else {
this.dataService.user.payment = r;
console.log('price returned', r);
return ''
}
})
))
.subscribe(e => {
console.log(e)
})
}
答案 0 :(得分:1)
问题出在您的switchMap
上。它期望返回一个流。使用setInterval
时不返回任何内容。您可以通过返回Observable
的{{1}}而不是调用interval()
来返回rxjs
。
setInterval()