为了账号安全,请及时绑定邮箱和手机立即绑定

如何将api数据保存到本地存储中?

如何将api数据保存到本地存储中?

慕娘9325324 2021-11-04 10:43:06
我正在从 API 获取数据,但无法将数据保存到 localStorage 中。我已经尝试了几件事,但似乎找不到问题所在。giveUsers();function giveUsers() {  for (let i = 0; i < 10; i++) {  fetch('https://randomuser.me/api/')    .then(function (response) {      return response.json();  })  .then(function (data) {    showUsers(data.results);  })  .catch(function (error) {    console.log("error", error);  });  let showUsers = (users) => {      users.forEach(user => {        // console.log(user.registered.age);        // console.log(user.location.city);        let firstName = user.name.first;        let id = user.id;        console.log(firstName);        localStorage.setItem('allUsers', firstName);       });  };}}if(localStorage.getItem('allUsers')){  console.log(localStorage.getItem('allUsers'));}我希望我的数据进入 localStorage。
查看完整描述

3 回答

?
喵喔喔

TA贡献1735条经验 获得超5个赞

如果我正确理解你的问题。

您可以使用asyncawait来获取。当您获取数据时,这需要一点时间才能从服务器获得响应,因为每次您在本地存储中设置一些 null 值。

您可以async/await 在此处找到有关信息。

以及关于本地存储访问这里


查看完整回答
反对 回复 2021-11-04
?
杨魅力

TA贡献1811条经验 获得超6个赞

您需要将数据作为字符串存储在 localStorage 中


所以使用 JSON.stringify();


let showUsers = (users) => {

  users.forEach(user => {       


    localStorage.setItem('user', JSON.stringify(user));  


  });

};


查看完整回答
反对 回复 2021-11-04
?
慕慕森

TA贡献1856条经验 获得超17个赞

在您的代码中,您似乎正在为每个用户设置 localstorage,从而有效地覆盖由于相同的“键值”而添加的最后一个用户您应该将它们放在一个列表中并将您的数组存储为 JSON。记住使用“window.localstorage”:它应该看起来像这样

window.localStorage.setItem('allusers', JSON.stringify(listOfUsers));


查看完整回答
反对 回复 2021-11-04
  • 3 回答
  • 0 关注
  • 486 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信