如何在angular 2中使用timeout()
我在我的代码中设置了一个超时,但我一直收到这个错误:Typescript错误 类型“Observable”上不存在属性“timeout”。我怎样才能解决这个问题?提前谢谢 这是我的代码:如何在angular 2中使用timeout(),angular,ionic-framework,settimeout,Angular,Ionic Framework,Settimeout,我在我的代码中设置了一个超时,但我一直收到这个错误:Typescript错误 类型“Observable”上不存在属性“timeout”。我怎样才能解决这个问题?提前谢谢 这是我的代码: this.http.post(this.global.api_url + '/cancel_order', {id: product._id}) .timeout(10000) .map(res => res.json()) .subscribe((data) => {
this.http.post(this.global.api_url + '/cancel_order', {id: product._id})
.timeout(10000)
.map(res => res.json())
.subscribe((data) => {
if (data.result.id != null && data.result.rev != null && data.result.ok == true && data.status == 201) {
this.global.toast("Order canceled", "toast-error");
let del_data = [{_id: product._id, _rev: product._rev}];
this.orders.delCart(del_data);
loader_send_1.dismiss();
this.ngOnInit();
} else {
this.global.toast("Failed to cancel order", "toast-error");
loader_send_1.dismiss();
}
您可以添加
导入'rxjs/add/operator/timeout'
或
您可以像这样使用标准JavaScriptsetTimeout()
函数:
setTimeout(() => {
this.http.post(this.global.api_url + '/cancel_order', {id: product._id})
.map(res => res.json())
.subscribe((data) => {
if (data.result.id != null && data.result.rev != null && data.result.ok == true && data.status == 201) {
this.global.toast("Order canceled", "toast-error");
let del_data = [{_id: product._id, _rev: product._rev}];
this.orders.delCart(del_data);
loader_send_1.dismiss();
this.ngOnInit();
} else {
this.global.toast("Failed to cancel order", "toast-error");
loader_send_1.dismiss();
}
}, 1000)
您是否添加了导入
import'rxjs/add/operator/timeout'
当使用rxjs时,您必须导入每个文件中使用的运算符。像这样:''import'rxjs/add/operator/timeout''''import'rxjs/add/operator/map''谢谢Rahul Singh,我添加了这个,问题就解决了。感谢Hanks Faisal和Sebastian。感谢导入'rxjs/add/operator/timeout'为meDon工作,不要将setTimeout用作包装器!它会在你的应用程序中引起一个滴答声,在这个原因中,它是阻燃剂。