在 Polymer iron 上设置回调-ajax

Setting callback on Polymer iron-ajax

是否可以set/change iron-ajax 上的回调? 我有不同数量的请求,每个请求都有不同的回调。

正如 Scott 在评论中所说,您应该为每个请求使用单独的 iron-ajax。但是,如果您想动态发出请求,我倾向于使用动态创建的 iron-request - 如果只是因为它 returns 一个承诺,我可以随身携带。这是一个小例子

    var dataPromise = new Promise(function(accept, reject) {
      var sendOptions = {
        url: '/api/queries',
        method: 'POST',
        handleAs: 'json',
        headers: {'content-type': 'application/json'}
      };
      body = {};
      body.name = name;
      if (useId) {
        body.id = parent.id;
      }
      if (useDates) {
        body.startdate = parent.startdate;
        body.enddate = parent.enddate;
      }
      sendOptions.body = body;
      var request = document.createElement('iron-request');
      request.send(sendOptions).then(function() {
        accept(request.response);
      });
    });

然后我可以传递 dataPromise,当我需要请求的结果时(在我的例子中是一个完全独立的元素)...

  open: function(dataPromise, params, x, y) {
    var self = this;
    this.x = x;
    this.y = y;
    dataPromise.then(function(data) {
      self.title = data.name;
      self.heading = data.heading;
      self.data = data.data;
      self.$.griddialog.open();
    });
    this.params = params;
  },