承诺拒绝未捕获的数据为空

时间:2017-09-22 19:00:42

标签: javascript asynchronous polymer

我正在使用Polymer创建一个Web应用程序。我发一个POST请求然后填充一个对象,然后我正在创建一个数据绑定来填充我正在使用的谷歌图表标签中所需的data属性。

<dom-module id="leads-chart" bind>
  <template>
    <google-chart
      id="leadschart"
            type='column'   
            data={{datagraph}}>
        </google-chart>   
  </template>
  <script>
    Polymer({ is: "leads-chart",
  properties:{
    params:{
      type: Object
    },
    command:{
      type: String,
      value: "SP_GetLead12Meses"
    },
    datagraph:{
      type: Object,
      computed: 'getBargraph(command,params)'
    }
  },
  getBargraph: function(command,params){

      var options = {
        hostname: 'localhost',
        path: '/',
        port: 8081,
        secure: false,
        method: 'POST',
        headers: {
          'x-powered-by': 'HTTPClient.js'
        },
        'Content-Type': 'application/json'
      }

    var dictionary = new Object();

    var outter = [];

    const that = this;

    var example1 = new HTTPClient(options)
      example1.post("/executeGraph1?command="+ command + "&param1=" + params.user, function (err, res, body) {

        body = JSON.parse(body);

        outter.push(['Mes','Leads',{"role":"style"}]);

        for(var k in body){
          var inner = [];
          inner.push(dictionary[body[k]['MES']]);
          inner.push(body[k]['LEADS']);
          inner.push("#00A6d4");
          outter.push(inner);
        }
      });

      return outter;
  }
});

问题是图表没有显示任何数据。浏览器显示以下消息:

Uncaught (in promise) Data was empty

最奇怪的是,在开始时这个错误出现在稀有的时候,但现在我每次加载页面时都会得到它。有人知道它为什么会发生以及如何解决它?

  • 我做了一些调试,发现帖子信息正在用正确的信息回复请求。
    • 对象正在填充数据,但消息仍然存在且图表仍为空

0 个答案:

没有答案