调用两个promise并设置两个对象,但第二个设置为第一个

时间:2017-02-23 00:52:45

标签: javascript angular promise

我有两个函数,我想一个接一个地执行。一个设置一个对象,另一个设置另一个对象基于第一个对象的属性。由于某种原因,第一个对象设置正常,我可以在控制台中正确地看到第二个对象,但是当我尝试将其设置为我的第二个对象时,它会延迟回到第一个对象。

setObject1(){
var self = this;
this.Service.getObject1().then(function(data){
  if(data){
    self.Object1 = data.Data;
    self.setObject2();
  }
});
}

setObject2(){
var self2 = this;
this.Service2.getObject2(this.Object1.HRRef).then(function(sdata){
  if(sdata){
    self2.Object2 = sdata[0];
  }
});
}

我可以在控制台中看到两个对象都很好,但是当我尝试设置self2.Object2 = sdata [0]时,它不会被设置。

1 个答案:

答案 0 :(得分:0)

我猜它会出现bootclasspath问题!

不要使用this语法!

使用箭头语法:function

在你的情况下:

(data) => {}