【发布时间】:2020-06-15 10:16:07
【问题描述】:
我要做的是向 Web API 发出请求,然后如果输入有效,则从函数返回 true,如果输入无效则返回 false。我希望请求是异步的,但我不希望函数在验证请求之前返回。在发出请求时,我只想继续处理输入。
这里是函数的重要部分:
request({
url: url,
json: true
}, function (error, response, body) {
if (!error && response.statusCode === 200) {
console.log(JSON.stringify(body));
if(body.player !== "null") {
console.log(body.player.socialMedia.links["DISCORD"]);
console.log((client.users.get(author).username + "#" + client.users.get(author).discriminator));
if (body.player.socialMedia.links["DISCORD"] === (client.users.get(author).username + "#" + client.users.get(author).discriminator)) {
fs.writeFile(`users/${body.player.uuid}.json`, `{"uuid":"${body.player.uuid}",\n"ign":"${nm}",\n"id":"${author}"}`, {"flag": "w"});
successFlag = true;
}
}
}
});
console.log(successFlag);
return successFlag;
如果我使用 async/await,我不确定在获取数据时是否会继续处理输入。
【问题讨论】:
-
要深入讨论您要做什么,请查看其他答案 stackoverflow.com/questions/14220321/… 我已将此标记为重复,这是一个非常常见的问题,希望您能得到一些从上面的链接讨论清楚。
-
如果我在返回之前等待请求完成,在处理请求时是否仍会触发事件?
标签: javascript node.js discord.js