需要帮助才能在我的代码中使用 api 响应

need help to use an api response in my code

首先,我是这个编码游戏的菜鸟。几天前开始。我正在制作一个用于抽搐的聊天机器人,以便在我的频道中使用以获得乐趣。让机器人启动并开始发出命令。我希望创建一个正常运行时间命令,并设法从螺旋 API 请求数据,但我现在完全不知道如何 "use" 它。

const querystring = require("querystring"),
    fetch = require("node-fetch");

const CLIENT_ID = "###";
const STREAMS_URL = "https://api.twitch.tv/helix/streams/";

var started_at = ""
const qs = querystring.stringify({
    user_login: "lil__gizmo"

});
const qUrl = `${STREAMS_URL}?${qs}`;
const fetchArgs = {
    headers: {
        "Client-ID": CLIENT_ID,
        'Authorization': 'Bearer ' + "###"
    }
};
fetch(qUrl, fetchArgs)
    .then(res => res.json())
    .then(data => console.log(data))
    .catch(err => console.error(err));

我得到的回复是

{
  data: [
    {
      id: '38236753072',
      user_id: '63931875',
      user_name: 'Lil__Gizmo',
      game_id: '497057',
      type: 'live',
      title: 'FEAR THE REAPERS!!!',
      viewer_count: 6,
      started_at: '2020-05-23T13:09:18Z',
      language: 'en',
      thumbnail_url: 'https://static-cdn.jtvnw.net/previews-ttv/live_user_lil__gizmo-{width}x{height}.jpg',
      tag_ids: [Array]
    }
  ],
  pagination: {}
}

我正在尝试获取返回对象的 started_at 属性 并在我的代码中使用它。

在您的代码中:

fetch(qUrl, fetchArgs)
    .then(res => res.json())
    .then(data => console.log(data))
    .catch(err => console.error(err));

你可以这样做:

fetch(qUrl, fetchArgs)
    .then(res => res.json())
    .then(data => {
        const { started_at } = data.data[0];
    })
    .catch(err => console.error(err));

然后您可以使用该变量做任何您喜欢的事情。

您可以使用 async-await 语法

您正在进行异步操作,因此您必须在函数中执行此操作。


let data;

async function getData() {
    try {
        data = await fetch(qUrl, fetchArgs).then(res => res.json());
    } catch (error) {
        console.log(error);
    }
}

getData();

//Wait for 2 minutes to get data from server
setTimeout(() => {
   console.log(data.data[0].started_at);
}, 2000);