我想我需要某种类型的承诺链,但语法不包括我......
在同一个组件中:
我打电话:
this.somethingService.getSomethings().then(somethings => this.somethings = somethings);
然后我需要打电话:
this.otherService.getOthers(this.somethings).then(others => this.others = others);
在第二次服务调用中,我使用第一个服务的结果对其内容执行聚合函数,但在第二次调用时它为空,因此第二个服务返回空。
如何让第二个服务等到第一个承诺解决后。
感谢名单
史蒂夫
答案 0 :(得分:1)
你可以用这种方式链接承诺:
this.somethingService.getSomethings().then(somethings => {
this.somethings = somethings;
return this.otherService.getOthers(somethings);
}).then(others => {
this.others = others;
});
第二个回调将收到第一个回调的承诺返回结果。