Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在angular 2中使用timeout()_Angular_Ionic Framework_Settimeout - Fatal编程技术网

如何在angular 2中使用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) => {

我在我的代码中设置了一个超时,但我一直收到这个错误:Typescript错误 类型“Observable”上不存在属性“timeout”。我怎样才能解决这个问题?提前谢谢

这是我的代码:

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'

您可以像这样使用标准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)

您是否添加了导入
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用作包装器!它会在你的应用程序中引起一个滴答声,在这个原因中,它是阻燃剂。