【问题标题】:Error : Error trying to diff '[object Object]'. Only arrays and iterables are allowed错误:尝试比较“[object Object]”时出错。只允许使用数组和可迭代对象
【发布时间】:2020-01-11 04:06:45
【问题描述】:

我有一个返回以下 JSON 的 API

{
  "error": false,
  "success": true,
  "response": "{\"events\": [\"_campaign.send\", \"_SMS.FAILURE\", \"_SMS.SUCCESS\", \"_email.open\", \"_email.delivered\", \"_email.send\", \"_test.event_stream\"], \"count\": [4, 3, 2, 2, 1, 1, 1]}"
}

在 Angular 应用程序中,我只是在控制台上打印响应

 this.http.post(environment.getCampaignEvents, {
      "": "",
  }).subscribe(data => {

          this.campaignEvents = data;
          //this.spinner.hide();

          if (this.campaignEvents.success === false) {
              console.log('Get Campaign events = fail');
              this.statusText = this.campaignEvents.msg;
              this.campaignEventsResponseMessage = this.statusText;
              this.toasterService.pop('error', 'Error!', this.campaignEventsResponseMessage);

              this.campaignEventsResponseMessage = this.campaignEventsResponseMessage.msg;
          } else {
              console.log('Get Campaign events = passed');
              this.CampaignList=this.campaignEvents.response;
              this.CampaignList = JSON.parse(this.CampaignList);
              console.log(this.CampaignList);
          }
      }

通过这一行 console.log(this.CampaignList); 我在浏览器上收到错误 错误成倍增加并继续在浏览器上抛出错误。

【问题讨论】:

  • 你是如何定义this.CampaignList的?
  • 是的,我已将上面使用的所有变量定义为“任何”@NicholasK
  • 我也可以在浏览器上打印响应,同时浏览器上会出现错误@NicholasK
  • 我怀疑是 console.log 导致了错误。你试过调试吗?也许在模板上,当你有一个对象时你试图迭代一个数组 - 因此出现错误。
  • 响应中有一个数组可能正在打印控制台上导致错误的原因,但我不确定它是否是导致错误的原因@NicholasK

标签: angular


【解决方案1】:

我认为错误不是由console.log 引起的。查看您得到的错误:问题出现在 at Object.eval [as updateDirectives](CampaignManagementComponent.html:24)

我建议您在上述行 (24) 周围加上一些阻止它渲染的东西,直到它需要的数据出现。 (我的猜测可能是一个*ngFor 结构指令,你在其中给出一个空值或对象而不是一个数组。(我的意思是你绑定的数据在它第一次呈现时是空值或对象 - 尝试停止它的呈现,直到 http通话结束)

【讨论】:

    猜你喜欢
    • 2020-04-05
    • 2018-12-19
    • 2021-01-09
    • 2018-09-14
    • 2019-10-26
    • 2020-08-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多