javascript - La propiedad then no existe en el tipo void, aunque estoy devolviendo una Promesa
Tengo una función que obtiene el inventario de un bot en el Frontend
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);
});
});
}
Como puedes ver, devuelve una promesa.
Cuando intento llamarlo
getBotInventory() {
this.userService.getBotInventory().then(botInv..)
}
Estoy recibiendo
error TS2339: La propiedad 'then' no existe en el tipo 'void'.
Obviamente devuelve un Promise. ¿Puede alguien señalar dónde está el problema?
Respuesta #1
Puede ser obvio para ti, pero no lo es para mí.
Mira tu función, limpiada de callbacks.
getBotInventory() {
this.socket.emit('get bot inv');
this.socket.on('bot inv', (botInventory) => {...});
}
¡No veo ninguna declaración de retorno allí!
