【问题标题】:Ionic 2 Promise return __zone_symbol__value array[]Ionic 2 Promise 返回 __zone_symbol__value 数组[]
【发布时间】:2017-09-25 22:19:30
【问题描述】:

我正在使用 Ionic 2,并且我有一个 http 请求提供程序。

这是我用来向服务器发出 http 请求的代码。

Api_get(data?){
     return new Promise((resolve, reject) =>{
         this.http.post(this.url + data.method, data.send).subscribe(data =>{
             resolve( data.json() );
             reject({status:false});
         })
     })

  }

请求已经完成,但是当我看到日志时,结果是这个对象 __zone_symbol__value array[2] 在对象内部是否有请求的结果。

我不知道我是否做错了希望你能帮助我。

【问题讨论】:

    标签: javascript typescript ionic2


    【解决方案1】:

    angular http 默认返回 Observable 你应该使用 Observable 来返回你的 API 数据。你真的不需要用 Promise 来包装你的 http 请求。

    你也可以在之后使用.map将你的数据转换成json格式。

    请尝试以下代码。

    Api_get(data?) {
        return this.http.post(this.url + data.method, data.send).map(res=>res.json());
    }
    
    //collecting the return data
    requestData() {
      var data = {1,2,3}; //example of data
        this.Api_get(data).subscribe(data=>{
            console.log(data);
        })
    }
    

    【讨论】:

    • 很抱歉,对于 Observable,您不需要使用 resolve(),在工作订阅上也有错字。检查编辑的示例。
    猜你喜欢
    • 2017-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-25
    • 1970-01-01
    • 2021-12-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多