【发布时间】:2018-12-16 23:41:54
【问题描述】:
我有一个带有异步 printInfo 方法的 Bot 类:
class TradeBot {
async printInfo() { //..... }
}
如果我启动“节点”,从控制台创建对象并调用方法:
>const createBot = require ('./BotFactory');
>const bot = createBot();
>bot.printInfo();
控制台中出现了令人讨厌的额外信息:
Promise {
<pending>,
domain:
Domain {
domain: null,
_events: { error: [Function: debugDomainError] },
_eventsCount: 1,
_maxListeners: undefined,
members: [] } }
有没有办法抑制它?
'await' 关键字在这里产生错误。
【问题讨论】:
-
“烦人的额外信息”正是
printInfo返回的……一个承诺。您不能在异步函数之外等待(还)。您可以使用异步 IIFE 或使用承诺链。 -
bot.printInfo.then(infoProbably => console.log(infoProbably)) -
这是因为你在使用 promises 如果你的代码是同步的,你可以省略 async 字,如果不是,你应该了解更多关于如何处理 promises developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
-
Phil,据我所知,这也返回了 Promise
-
@Phil ,据我所知,这也返回 Promise
标签: javascript node.js