javascript - 在 Node 的 Promise 中调用类的其他函数

标签 javascript node.js promise this es6-promise

所以,我在一个类中有两个方法。两者都返回一个 promise 。第二个函数从它返回的 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

您能解释一下为什么会发生这种情况以及如何解决这个问题吗?

最佳答案

使其工作的一种方法是在 module.exports block 之外创建函数以获取每个函数的引用。那么this关键字可以省略

const funcA = () => {
  return new Promise((resolve, reject) => {
    // code here
  });
};

const funcB = () => {
  return new Promise(async(resolve, reject) => {
    try {
        const something = await funcA();
        resolve(something);
    } catch(err) {
        reject('error');
    }
  })
};

module.exports = {
  funcA,
  funcB
}

关于javascript - 在 Node 的 Promise 中调用类的其他函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67229599/

相关文章:

javascript - 运行 Q Promise 并连续获取进度

javascript - AJAX 发布后更新 View 而不重新加载

node.js - 类型错误 : Cannot read property of undefined in Node Express/POST

javascript - 开 Jest : resolves return undefined from Promise

javascript - 从 &lt;script&gt; &lt;/script&gt; 访问 <% %> 中定义的变量

node.js - package.json中的首页条目出现错误

javascript - 结合 promise 和链接

javascript - jQuery 动态 URL 缩短器

javascript - 难以在 Node-Inspector 中设置断点

javascript - 继续执行脚本之前等待 AJAX 响应