首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >动态添加来自不同json响应的值- JS

动态添加来自不同json响应的值- JS
EN

Stack Overflow用户
提问于 2021-10-17 15:53:57
回答 2查看 95关注 0票数 0

我正在调用一个API并获取total_tweet_count。如果meta标记包含一个next_token,我用next_token获取下一个API (这里我调用相应的对象),并将total_tweet_count推送到一个数组中。但是,如果响应不包含next_token,我将停止迭代,只推送total_tweet_count并返回数组。由于某些原因,代码似乎不能运行。请帮帮忙。

下面的示例应该从res1获取next_token,然后调用res2并将tweet_count推入数组。然后使用res2的next_token,获取res3数据并推送计数。因为res3没有next_token,所以我们结束循环并返回数据。这就是我们的期望。敬请指教。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const getData = async () => {
  const totalCount = [];
  const results = await Promise.resolve(data.res1);
  totalCount.push(results.meta.total_tweet_count)
  do {
    const results1 = await Promise.resolve(data[`res${results.meta.next_token}`]);
    totalCount.push(results1.meta.total_tweet_count)
  }
  while (results.meta.next_token)
  return totalCount;
}

getData().then(res => console.log(res))

我期望的最终输出是1,20,8

敬请指教。

小提琴链接:https://jsfiddle.net/czmwtj3e/

EN

回答 2

Stack Overflow用户

发布于 2021-10-18 08:56:19

您的循环条件是常量:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  const results = await Promise.resolve(data.res1);
//^^^^^^^^^^^^^do {}
  while (results.meta.next_token)

你要找的是

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const getData = async () => {
  const totalCount = [];
  let results = await Promise.resolve(data.res1);
  totalCount.push(results.meta.total_tweet_count)
  while (results.meta.next_token) {
    results = await Promise.resolve(data[`res${results.meta.next_token}`]);
    totalCount.push(results.meta.total_tweet_count)
  }
  return totalCount;
}

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const getData = async () => {
  const totalCount = [];
  let results = {meta: {next_token: 1}};
  do {
    results = await Promise.resolve(data[`res${results.meta.next_token}`]);
    totalCount.push(results.meta.total_tweet_count)
  }
  while (results.meta.next_token)
  return totalCount;
}

请注意,这两个变量中都没有const results1,而是对可变的results变量进行了赋值。

票数 0
EN

Stack Overflow用户

发布于 2021-10-18 09:25:01

据我所知:

  • getData()是一个作用于推特的完全同步的过程,因此不需要是asyncFunction.
  • the所需的推文计数数组可以使用Array.prototype.reduce().
  • the和data的组合来创建推文计数的数组不需要使用.next_token属性(除非它具有超出问题解释的某种秘密含义)。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const getData = () => {
    const keys = Object.keys(data); // array ['res1', 'res2',  'res3'] 
    const totalCounts = keys.reduce((arr, key) => { // iterate the `keys` array with Array.prototype.reduce()
        arr.push(data[key].meta.total_tweet_count); // push next tweet count onto the array
        return arr; // return `arr` to be used in the next iteration
    }, []); // start the reduction with empty array
    return totalCounts; // [1, 20, 8]
};

在实践中,您将:

data传递给

  • data

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    const getData = (data) => {
        return Object.keys(data).reduce((arr, key) => {
            arr.push(data[key].meta.total_tweet_count);
            return arr;
        }, []);
    };
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69609456

复制
相关文章
js数组添加json数据[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/133387.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/14
11.7K0
js动态添加div
因为每个input标签的name如果相同的话, 在后端接收的时候会出错, 所以我的解决办法就是在name后加上一个数字, 后端用一个循环进行接收
烟草的香味
2019/07/25
24.5K0
JS动态添加表单
<script type=”text/javascript”> function addRow()<!–js实现添加一行内容!–> { var tr=document.createElement(“tr”); var td=document.createElement(“td”); var input=document.createElement(“input”); input.setAttribute(“type”,”file”); input.setAttribute(“name”,”image[]”)
苦咖啡
2018/05/07
13.8K0
【Node.js练习】根据不同的url响应不同的html内容
 进去之后默认的就是首页也就是/当我们再地址栏输入index.html同样也是首页
坚毅的小解同志的前端社区
2022/11/28
1.8K0
【Node.js练习】根据不同的url响应不同的html内容
js 动态添加元素
该例子的样式用的是easyui的样式,看不懂只需把class="easyui-XXX" 删除即可 <div class="fitem" id="urls" style="margin-bottom:5px;"> <label>url:</label> <input id="url" name="url" class="easyui-textbox" style="width: 260px" > 小标题: <input id="url_title" name="url_titl
黄啊码
2020/05/29
19.7K0
js 动态添加元素
net/sf/json/jsonobject_js获取json对象的值
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/09
13.8K0
用于从 JSON 响应中提取单个值的 Python 程序
值提取是一个非常流行的编程概念,它用于各种操作。但是,从 JSON 响应中提取值是一个完全不同的概念。它帮助我们构建逻辑并在复杂数据集中定位特定值。本文将介绍可用于从 JSON 响应中提取单个值的各种方法。在开始值提取之前,让我们重点了解 JSON 响应的含义。
很酷的站长
2023/08/11
2220
用于从 JSON 响应中提取单个值的 Python 程序
JS动态添加/删除css文件
Jensen_97
2023/07/20
6660
原生js动态添加元素
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/152106.html原文链接:https://javaforall.cn
全栈程序员站长
2022/06/25
6.8K0
nest.js 添加 swagger 响应数据文档
通常情况下,在 nest.js 的 swagger 页面文档中的响应数据文档默认如下
愧怍
2023/10/21
4030
nest.js 添加 swagger 响应数据文档
【说站】Js值传递和引用传递的不同
2、引用类型传递可以通过改变形参而改变实参。只要任何一个变量指向同一个空间,那么该变量都可以去操作该空间的值。
很酷的站长
2022/11/24
2.5K0
【说站】Js值传递和引用传递的不同
原生JS动态添加、删除元素&内容
创建元素 createElement ,创建内容 createTextNode ,添加元素 appendChild
德顺
2019/11/13
27.5K0
cssjshtml vue.js 动态添加class
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>methods_and_computed</title> <style> span { background: red; display: inline-block; padding: 10px; color: #fff;
葫芦
2019/04/17
8K0
给js对象添加属性和方法属性_js给json对象添加属性
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/01
20.7K0
二值响应/频率格式的响应
在该工作表中,已买是响应,指示顾客是否购买了新品牌的谷类食品。响应事件为是是。收入是连续预测变量,孩子是类别预测变量。工作表中的第一行显示有孩子且收入为 $37,000 的一位顾客购买了新品牌的谷类食品。
云深无际
2021/04/14
1.1K0
二值响应/频率格式的响应
HttpClient来自官方的JSON扩展方法
Json的序列化和反序列化是我们日常常见的操作,通过System.Net.Http.Json我们可以用少量的代码实现上述操作.正如在github设计文档中所描述
HueiFeng
2020/04/13
1.2K0
HttpClient来自官方的JSON扩展方法
Json的序列化和反序列化是我们日常常见的操作,通过System.Net.Http.Json我们可以用少量的代码实现上述操作.正如在github设计文档中所描述
HueiFeng
2020/04/15
1K0
全选或者单选checkbox的值动态添加到div
图片.png <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <link rel="stylesheet" href="./css/bootstrap.css" /> <style> html,body{ width:100% } .bg_g
王小婷
2018/06/05
1.8K0
js给数组添加数据的方式/js 向数组对象中添加属性和属性值[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/132130.html原文链接:https://javaforall.cn
全栈程序员站长
2022/06/30
23.6K0
实现点击图片不同区域响应不同的事件
开始考虑以纵轴为0度, 计算点击坐标跟中心点连线并计算跟纵轴的角度来判断, 不过代码写好后发现在不同的设备上有误差
周希
2019/10/15
1.4K0

相似问题

来自js响应的动态iframe内容

14

使用Mustache.js呈现来自JSON响应的值列表

10

处理来自不同JSON API响应的不同POJO

11

JS中来自数组的动态JSON

211

动态不呈现来自Ajax的JSON响应

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文