【发布时间】:2019-06-22 02:04:56
【问题描述】:
我有一些代码可以将数据发送到 Firebase,等待响应,然后将结果显示给用户:
sendRequest (data): Observable<any> {
// Send to Firebase
const key = this.db.list("Requests").push(data).key
return this.db.object(`Requests/${key}`).valueChanges().pipe(
timeout(30000),
skipWhile(request => !request["response"]), // wait for either response or timeout
take(1) // stop once a response is received
)
}
sendOrderRequest(data): Observable<string> {
return this.sendRequest(data).pipe(
map(response => {
// stuff that happens on success
}),
catchError(error => {
if (error.name === "TimeoutError") {
return "Request timed out."
} else {
return "An unknown error occurred."
}
})
)
}
confirmSubmit () {
this.sendOrderRequest(this.data).subscribe(result => {
console.log(result)
this.result = result
}
}
超时了,但这不是我的问题。我的问题是,当它返回超时错误时,它一次一个字母 - 控制台显示:
R
电子
q
(等等)
HTML (this.result) 中的数据绑定只显示最后的句点。这里出了什么问题?
【问题讨论】:
标签: angular typescript firebase rxjs observable