Promise 完成后调用 class 的方法
Call Method of class after Promise is fullfilled
我有一个简单的class
class A{
constructor(){
this.loadComponents().then(function(values) {callbackOnLoad();});
}
callbackOnLoad(){
//do some things
}
loadComponents(){
...
return Promise.all([p1,p2,p3,p4,p5,p6,p7,p8]);
}
}
我无法在完成所有承诺后调用 callbackOnLoad。我知道 "this" 取决于调用者,所以我理解为什么 callbackOnLoad 不起作用。我怎么解决这个问题?我如何 structure/design 我的代码?
正确的方法是在 Promise.all
之后立即调用 then & catch。
class A{
constructor() {
this.loadComponents();
}
callbackOnLoad = () => {
//do some things
}
loadComponents = () => {
return Promise.all([p1,p2,p3,p4,p5,p6,p7,p8]).then((values) => {
this.callbackOnLoad();
}).catch((error) => {
console.log(error);
});
}
}
我有一个简单的class
class A{
constructor(){
this.loadComponents().then(function(values) {callbackOnLoad();});
}
callbackOnLoad(){
//do some things
}
loadComponents(){
...
return Promise.all([p1,p2,p3,p4,p5,p6,p7,p8]);
}
}
我无法在完成所有承诺后调用 callbackOnLoad。我知道 "this" 取决于调用者,所以我理解为什么 callbackOnLoad 不起作用。我怎么解决这个问题?我如何 structure/design 我的代码?
正确的方法是在 Promise.all
之后立即调用 then & catch。
class A{
constructor() {
this.loadComponents();
}
callbackOnLoad = () => {
//do some things
}
loadComponents = () => {
return Promise.all([p1,p2,p3,p4,p5,p6,p7,p8]).then((values) => {
this.callbackOnLoad();
}).catch((error) => {
console.log(error);
});
}
}