提问人:questionMan 提问时间:1/21/2023 最后编辑:questionMan 更新时间:1/21/2023 访问量:158
Javascript 基于 JSON 的数据回调函数
Javascript JSON-based data callback function
问:
实现一个函数 fetchDataForUser,该函数从远程 JSON API 获取数据,然后返回其中的一部分。
由于这是一个网络调用,因此它需要是一个异步函数,并通过回调返回数据。
基于 JSON 的数据将从此 URL 和其他类似 URL 中获取:https://gist.githubusercontent.com/kvirani/f7d65576cc1331da1c98d5cad4f82a69/raw/4baad7566f0b6cd6f651c5d3558a015e226428b5/data.json
回调应使用两个参数进行调用:
- 错误:如果请求返回时出现错误,则将其传递到此回调。否则,请将其设置为 null
- data:如果没有错误,这应该是表示给定用户名的输赢的对象。如果出现错误,则应将其设置为 null。
使用请求库 (https://www.npmjs.com/package/request) 获取数据。 请求库已安装在此项目中,您可以要求和使用它。
const fetchDataForUser = function(url, username, callback) {
// IMPLEMENT ME
};
如何正确实现上述功能?
答:
0赞
Barmar
1/21/2023
#1
客人所需的信息位于酒店内。没有必要循环,因为用户名是一个键,你可以只使用'data.users[username]。data.users
当你找到匹配的用户时,你不应该从函数返回,你应该调用回调函数。
const fetchDataForUser = function(url, username, callback) {
request(url, (err, res, body) => {
if (err) {
callback(err, null);
} else {
const data = JSON.parse(body);
callback(null, data.users[username]);
}
};
});
};
评论
return key
退出函数,并且永远不会调用回调。你为什么要这样做?要求中没有任何内容说您应该返回任何东西。