微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Node JS 中循环访问 http 请求

如何解决如何在 Node JS 中循环访问 http 请求

我正在 Node JS 中访问以下 API 请求:[代码片段 1]

var request = require('request');

var headers = {
  'Connection': 'keep-alive','Accept': 'application/json,text/plain,/','User-Agent': 'Mozilla/5.0 (Macintosh; Ontel Mac OS X 11_2_3) AppleWebKit/537/36 (KHTML,like Gecko) Chrome/89.0.4389.128 Safari/537.36','Content-Type': 'application/json','Accept-Language': 'en,zh-TW;q=0.8,en-US;q=0.7'
};

const PublicKeybase58Check = "BC1YLiFNARSWF6qtXM5acrS7q8VWPeeS2gycVBtqLALkE4c1V3kx4US";
const Username = "";
const NumToFetch = 9999999;
var dataString = '{"PublicKeybase58Check":"' + PublicKeybase58Check + '","Username":"' + Username + '","NumToFetch": ' + NumToFetch + '}';


var options = {
  url: 'https://api.bitclout.com/get-posts-for-public-key',method: 'POST',headers: headers,body: dataString
};

function callback(error,response,body) {
  if (!error && response.statusCode == 200) {
    return body;
  } 
};

function getResponse(options) {   
    return new Promise((resolve,reject) => {     
        request(options,(error,response) => {       
            if (error) {         
                return reject(error);       
            }       
            return resolve(response);     
        });   
    }); 
} 
async function triggerApi() {   
    result = await getResponse(options,callback);   
    var posts = JSON.parse(result.body);
    //console.log(posts); //prints all posts
    
    //prints each post
    for (var post in posts.Posts)
    {
        posts.Posts[post] = { ...posts.Posts[post],PublicKeybase58Check: PublicKeybase58Check,Username: Username};
    } 
    console.log(posts);
    //prints out to file ->
    'use strict';
    const fs = require('fs');
    let data = JSON.stringify(posts);
    fs.writeFileSync('posts/posts-' + PublicKeybase58Check + '.json',data);
    
} 

triggerApi();

在上述代码中,您可以注意到变量“PublicKeybase58Check”是硬编码的,我想通过运行如下循环来获取值:[代码片段 2]

var PublicKeybase58CheckValues = ["BC1YLiFNARSWF6qtXM5acrS7q8VWPeeS2gycVBtqLALkE4c1V3kx4US","BC1YLiFNARSWF6qtXM5acrS7q8VWPeeS2gycVBtqLALkE4c1V3kashuagduys","BC1YLiFNARSWF6qtXM5acrS7q8VWPeeS2gycVBtqLALkEHSYAjndsa781"];
for (var PublicKeybase58Check in PublicKeybase58CheckValues) {
... [Code snippet 1]
}

其中,... 是第一个代码片段中所示的代码可执行程序。我在 Javascript 方面的技能对 Node JS 来说并不是那么好和新,因此,我想知道如何遍历 PublicKeybase58CheckValues 来执行 [代码片段 1]。

非常感谢任何帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。