【问题标题】:How to print data comming from api in small chunks in loop如何在循环中以小块打印来自api的数据
【发布时间】:2021-09-27 23:07:06
【问题描述】:
我正在制作一个电报机器人,我正在从 api 调用接收数据。 api 正在向我返回这样的数据
articles 是数组,我想从中检索所有新闻。
当我在没有循环的情况下执行它时,它可以正常工作,没有错误
但是当我试图打印数组中的所有数据时,请看下图
它给了我这样的错误(见图)
如何打印这些数据?
【问题讨论】:
标签:
node.js
json
api
telegram-bot
node-telegram-bot-api
【解决方案1】:
首先检查newData.articles[i].source是否已定义
像这样改变你的for循环
for(let i =0;i<itr;i++){
if(newData.articles[i]&&newData.articles[i].source){
let name=newData.articles[i].source.name||"Noname",
title=newData.articles[i].source.title||"No Title",
description=newData.articles[i].description||"No Description";
bot.sendMessage(chatId,`${name}\n\nTitle : ${title}\n\nDescription : ${description}`)
}
}
【解决方案2】:
按照逻辑,我会告诉“i”去很远的地方,但要确保没有任何错误,只需检查 newData.articles[i].source.name 是否在“if”中定义,如果是真的,你分配给你的变量并发送消息,如果没有,则继续下一步