在调用异步函数时,我希望它返回一个 JSON 有效负载,以便我可以从对象中提取一个值。但是,该函数只返回[object Object]
异步函数是在普通函数中调用的,所以我尝试将父函数更改为异步函数。这对我有帮助,因为最初我只获得了[object Promise]
最初,我正在尝试这样做:
const sendRequestToApprover = (userId, announcement, username) => {
const { title, details, channel } = announcement;
const channelName = channels.getChannelName(channel);
console.log('channelName' + channelName);
和getChannelName看起来像:
async function getChannelName(id) {
try {
return await api.get('/channels.info', {
params: {
token: botToken,
channel: id,
}
});
} catch (err) {
console.log(err);
}
}
我能够[object Promise]通过对以下内容进行更改来解决获取问题sendRequestToApprover:
async function sendRequestToApprover(userId, announcement, username) {
const { title, details, channel } = announcement;
const channelName = await channels.getChannelName(channel);
console.log('channelName' + channelName);
请注意,它现在是一个异步函数,我添加await到函数调用中。
我知道调用的有效载荷将返回以下内容:
{
"ok": true,
"channel": {
"id": "CJSFDR83T",
"name": "general",
...
}
我不太明白为什么在这种情况下我无法得到这个名字。我已经在其他功能中完成了这个,这个让我很难过。channelName还在回来[object Object]。
一只甜甜圈
相关分类