gpt4 book ai didi

javascript - 如何从回调函数访问外部变量?

转载 作者:搜寻专家 更新时间:2023-10-31 23:12:04 25 4
gpt4 key购买 nike

我在使用以下代码片段时遇到问题。我无法从回调函数中访问 userId,也无法返回 whitelistedUserIds 是否包含 userId。根据调试器,当我进入回调时,userId 未定义。

谁能解释一下为什么?以及如何解决这个问题?我已经有一段时间没有使用 JavaScript 了...

function userInWhitelist(userFileName) {
var userId = userFileName.replace('.txt', '');
request({
url: whitelistURL
}, function(err, resp, body, userId) {
if (resp.statusCode == 200) {
var users = JSON.parse(body).data;
var whitelistedUserIds = _.map(users, (user) => { return user.id; });
// How to access userId ??
// How to return whitelistedUserIds.includes(userId)
}
});

最佳答案

回调的 userId 正在隐藏外部的。只需从回调中删除 userId

function userInWhitelist(userFileName) {
var userId = userFileName.replace('.txt', '');
request({
url: whitelistURL
}, function(err, resp, body) {
if (resp.statusCode == 200) {
var users = JSON.parse(body).data;
var whitelistedUserIds = _.map(users, (user) => { return user.id; });
// here you have access to userId
}
});

关于javascript - 如何从回调函数访问外部变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35583603/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com