Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在NodeJS中循环通过http请求_Javascript_Node.js_Loops_Foreach - Fatal编程技术网

Javascript 如何在NodeJS中循环通过http请求

Javascript 如何在NodeJS中循环通过http请求,javascript,node.js,loops,foreach,Javascript,Node.js,Loops,Foreach,我正在访问节点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

我正在访问节点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来执行[Code snippet 1]


非常感谢您的帮助。

您应该使用
for…of
循环遍历数组的值,而不是
for…in
。因为…in给了你指数,这几乎不是你想要的。这不是100%的问题所在,你能发布一条错误消息吗,或者举一个例子,说明你迄今为止的尝试出现了问题?