让我们说我有两种方法:
第一:this.a()
秒:this.b()
在 angular 5 中,我希望第二个方法的 执行首先完成 ,然后仅应执行下一个方法。
如何对同一个对象进行异步调用,即如何使用promise来实现它,或者还有其他方法可以在角度5中实现同一个调用?
答案 0 :(得分:0)
基本上,您需要具有void
以外的返回类型。您可以使用promise
:
a(): Promise<any>{
return new Promise<any>((resolve, reject) => {
// some async call
let data = 123;
//reject(new Error('Some error'));
setTimeout(_ => resolve(data), 2000)
});
}
b(): void{
this.a().then(
num => console.log(`${num} came from promise.`),
err => console.log(err)
);
}
答案 1 :(得分:-2)
function1(variable).then(function() {
function2(variable2);
})