【问题标题】:Typescript - Ionic 2 - MapSubscriber error, unhelpful error dataTypescript - Ionic 2 - MapSubscriber 错误,无用的错误数据
【发布时间】:2017-07-21 00:24:14
【问题描述】:

你好所有读过这篇文章的人。 我正在开发一个 Ionic2 应用程序,用户将在该应用程序中向服务器发送一些图像数据,如果服务器接收到该数据,我会显示确认信息,但如果出现错误,则显示存在错误。

问题是,当发送图像数据时,Ionic/Typescript 告诉我出现了错误,但是在检查服务器时,图像数据被完整接收,并且图像显示正常。

但是,通过客户端知道信息已被正确接收,以便我可以将其显示给用户,这对我来说仍然非常重要。

相关部分代码:

 return new Promise((resolve, reject)=>{
    this.http.get(url).map(res=>res.json()).subscribe(data=>{
        console.log('InvoiceHttp.send() success!');
        resolve(data);
    }, err=>{
        console.log('Http error on InvoiceHttp.send()');
        console.error(err);
    });
});

现在当我运行这个函数时,我得到控制台日志消息和错误输出,但错误输出是这样的:

ERROR: {"line":78889,"column":39,"sourceURL":"file:///var/containers/Bundle/Application/601C2294-78EA-48A2-9BAC-B53C04ADD458/MyApp.app/www/build/main.js"}

如果我查看这一行,它会将我带到 MapSubscriber 定义,这让我相信这是 .subscribe() 的错误。

我的第一个想法是服务器响应可能不是正确的 JSON 格式,但是在将响应更改为空白和 {} 后,错误仍然存​​在,我完全不知道可能会抛出什么这个错误。

感谢您的任何回复。

【问题讨论】:

  • 只有一个问题:为什么不使用toPromise 运算符?例如。 this.http.get(url).map(r=>r.json()).toPromise().catch(err=>log(err))?
  • 简短回答:我不知道,但后来改变了它。它确实给了我更多的冗长响应,但没有什么能真正帮助我调试它。
  • 你能提供这个更新的回复吗?

标签: angular typescript ionic2


【解决方案1】:

我所要做的就是不要分别调用 json() 。 Map 很生气,因为我显然试图将空响应转换为 JSON。

【讨论】:

    猜你喜欢
    • 2017-07-16
    • 2017-12-07
    • 1970-01-01
    • 2017-11-25
    • 2016-06-21
    • 1970-01-01
    • 2017-06-19
    • 1970-01-01
    • 2019-10-05
    相关资源
    最近更新 更多