异步对象Promise作为回调

时间:2019-10-27 14:52:04

标签: javascript node.js asynchronous teamspeak

当我将此函数作为回调[object Promise]运行时,为什么会变成?我使用Miltivit4min(Github)的Ts3 nodejs框架

这里我尝试过一些代码(返回值= [object Promise])

async function getChannelName(cid) {

   await teamspeak.getChannelByID(cid).then(data => {

    return data.name;

   });

};

如何将该值转换为具有“我的酷频道”之类的值的字符串

最好的问候

1 个答案:

答案 0 :(得分:2)

async函数总是按设计返回Promise,而您的getChannelName函数没有return语句,因此从未解决承诺。另外,您正在混合使用某些await.then()语法,您只需要其中之一。

async function getChannelName(cid) {
   const data = await teamspeak.getChannelByID(cid);
   return data.name;
};


const name = await getChannelName(123); // name has the channel name