【发布时间】:2021-04-23 12:03:25
【问题描述】:
所以,我在一个类中有两个方法。两者都返回一个承诺。第二个函数从它返回的 Promise 内部调用第一个函数。
module.exports = {
funcA: () => {
return new Promise((resolve, reject) => {
something ? resolve(something): reject('nope');
});
}
funcB: () => {
return new Promise(async(resolve, reject) => {
try {
const something = await this.funcA();
} catch(err) {
reject('error');
}
}
}
当我尝试从另一个类调用 funcB() 时,如下所示:
let something = await someService.funcB();
我得到:
TypeError: this.funcA() is not a function
您能否解释一下为什么会发生这种情况以及如何解决这个问题?
【问题讨论】:
-
停止使用
new Promise,你的所有问题都会神奇地消失;)
标签: javascript node.js promise this es6-promise