长话短说。我正在尝试学习JavaScript。我现在已经连续搜索了大约4个小时。而且我找不到当前问题的答案,所以我假设我正在以错误的方式看待这个问题。
我正在尝试创建一个slackbot。该漫游器已连接,可以查找消息,以便该部分正常工作。
我(试图)创建了一个函数,该函数根据我设置的名称获取每个新消息的用户ID。在我看来,该函数返回用户ID,以后我可以检查代码是否userID在message.text中,如果有的话。
我假设它与.then函数有关。我什至可以从那个.then函数返回数据吗?或者您可以只在该函数中使用该数据。
我有几个返回函数,因为我正试图从您可能的地方返回它。
function getuserid(botname){
var id = ''
var getbotid = bot.getUsers();
getbotid.then(function(value){
for(var i=0;i<value.members.length;i++){
if(value.members[i].name == botname){
id = value.members[i].id
console.log(id);//this logs what i want.
return id
}
} return id
})
return id
}
var botid = getuserid('jokester');
console.log(botid);
答案 0 :(得分:0)
我不确定,但是根据我的经验,如果您返回getbotid()
,那么实际上您会返回一个诺言,您就可以使用它。
function getuserid(botname){
var id = ''
//************Here I return getbotid
return bot.getUsers().then(function(value){
for(var i=0;i<value.members.length;i++){
if(value.members[i].name == botname){
id = value.members[i].id
console.log(id);//this logs what i want.
return id
}
} return id
})
return id
}
//Now you can use it
getuserid('jokester').then(id => console.log(botid));