我有一个功能可以在前端获取机器人的 list

  getBotInventory() {
    this.socket.emit('get bot inv');
    this.socket.on('bot inv', (botInventory) => {
      return new Promise((resolve, reject) => {
        if (botInventory.error) {
          return reject(botInventory.error);
        }
        this.botInventory = botInventory;
        resolve(botInventory);
      });

    });
  }

如您所见,它返回一个Promise。

当我尝试调用它时
getBotInventory() {
    this.userService.getBotInventory().then(botInv..)
  }

我越来越



显然,它返回Promise。谁能指出问题出在哪里?

最佳答案

对您来说可能很明显,但对我而言却不是。

查看清除回调的函数。

getBotInventory() {
  this.socket.emit('get bot inv');
  this.socket.on('bot inv', (botInventory) => {...});
}

我在那里看不到任何退货声明!

关于javascript - 虽然我返回了Promise,但属性在void类型上不存在,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49256444/

10-11 11:41