如何在角度2中使用timeout()

时间:2017-08-22 06:37:11

标签: angular ionic-framework settimeout

我在我的代码中设置超时,但我不断收到此错误:Typescript Error “Observable”类型中不存在属性“超时”。我怎么解决这个问题?提前谢谢。

这是我的代码:

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();
         }

1 个答案:

答案 0 :(得分:2)

您可以添加import 'rxjs/add/operator/timeout'

OR

您可以使用标准JavaScript setTimeout()函数,如下所示:

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)