Node.js http.get 응답에서 데이터를 검색하는 방법

node.js에서 연습을하고 있습니다. 이 연습에서는 페이지 정수를 매개 변수로 전달하는 엔드 포인트에 대한 GET Http 요청을 통해 국가 이름을 찾도록 요청 받았습니다. 중요한 응답 구조는 {page, total_pages, data}입니다.

페이지는 현재 페이지입니다.

total_pages는 마지막 페이지입니다.

데이터는 10 개 국가 개체의 배열입니다.

getCountryName func 에서는 답이 첫 번째 페이지 인 루프의 1 회 반복에있는 경우에만 정답을 검색 할 수 있습니다. 그렇다면 루프가 한 번만 발생하는 이유는 무엇입니까? 추가로 total_pages를 검색하여 하드 코드 '25'값을 바꾸고 싶었지만 검색과 함께 반환하는 방법을 파악하지 못했습니다.

나에게주고 싶은 힌트가 있습니까? 전체 문제는 getCountryCode func에 있습니다.

'use strict';

const { Console } = require('console');
const https = require('https');

function makeRequest(page){    
    return new Promise(resolve => {
        let obj='';
        https.get('https://jsonmock.hackerrank.com/api/countries?page='+page, res => {
            let data ='';

            res.on('data',function(chunk){
                data+=chunk;
            });

            res.on('end',function(){
                obj=JSON.parse(data);
                resolve(obj);
            });
        });
    });
}


async function getCountryName(code) {          
    var res = '';
    var pages = 25;
    var i = 1;    
    while(i <= pages && res == ''){
        console.log(i);
        res = makeRequest(i)
            .then(data => {
                let f = ''
                let p = data['total_pages'];
                let search = data['data'].find(o => o.alpha3Code === code);   
                f = search != null ? search['name'] : f;
                return f;
            }); 
        i++;
    }
   return res;
}

async function main() {
  const name = await getCountryName('ARG');
  console.log(`${name}\n`);
}

main();
조쉬 울프

코드를 너무 많이 수정하지 않고 다음과 같이합니다.

'use strict';

const { Console } = require('console');
const https = require('https');

function makeRequest(page){    
    return new Promise(resolve => {
        let obj='';
        https.get('https://jsonmock.hackerrank.com/api/countries?page='+page, res => {
            let data ='';

            res.on('data',function(chunk){
                data+=chunk;
            });

            res.on('end',function(){
                obj=JSON.parse(data);
                resolve(obj);
            });
        });
    });
}


async function getCountryName(code) {          
    const pages = 25;
    var i = 1;  
    let f = null  
    while(i <= pages && f === null){
        console.log(i);
        const data = await makeRequest(i) // put in try/catch   
        const p = data['total_pages'];
        const search = data['data'].find(o => o.alpha3Code === code);   
        f = search !== null ? search['name'] : null;
        i++;
    }
   return res;
}

async function main() {
  const name = await getCountryName('ARG');
  console.log(`${name}\n`);
}

main();

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Node.JS-어떤 비동기 HTTP GET 응답이 콜백에서 데이터를 반환하는지 식별하는 방법은 무엇입니까?

분류에서Dev

node.js에서 HTTP 응답 본문을 종료하는 방법

분류에서Dev

jquery ajax를 사용하여 node.js 파일에서 데이터를 검색하는 방법

분류에서Dev

node.js의 http 응답에서 호스트 이름을 얻는 방법은 무엇입니까?

분류에서Dev

Java에서 HTTP json 응답 데이터를 조작하는 방법

분류에서Dev

데이터베이스에서 검색된 데이터를 node.js의 응답으로 인쇄

분류에서Dev

JavaScript / node.js의 HTTP 응답 헤더에서 잘못된 문자를 제거하는 방법은 무엇입니까?

분류에서Dev

반응 js에서 동일한 배열에 두 개 이상의 응답 데이터를 추가하는 방법

분류에서Dev

Node.js의 Google OAuth2에서 API를 검색하는 방법

분류에서Dev

2D 배열 react.js에서 데이터를 검색하는 방법

분류에서Dev

ionic에서 http.post의 응답에서 데이터를 추출하는 방법

분류에서Dev

응답 유형이 arraybuffer 인 경우 HTTP get 메서드에서 Angular JS의 RAW JSON을 읽는 방법은 무엇입니까?

분류에서Dev

Express js app.get 콜백에서 둘 이상의 독립적 인 응답 데이터를 가져 오는 방법

분류에서Dev

Node.js는 때때로 HTTP GET에 응답하지 않습니다.

분류에서Dev

$ http.get 메서드의 응답에서 JSON 데이터에 액세스하는 방법은 무엇입니까?

분류에서Dev

Node.js 터미널에서 데이터를 저장하는 방법

분류에서Dev

IIS는 node.js 앱에서 데이터 (HTTP GET 요청)를 읽을 수 없습니다.

분류에서Dev

Python으로 HTTP 응답에서 데이터를 추출하는 방법은 무엇입니까?

분류에서Dev

Laravel에서 응답 HTTP 데이터를 추가하는 방법은 무엇입니까?

분류에서Dev

node.js에서 웹 페이지의 데이터를 조작하는 방법

분류에서Dev

$ http.get의 promise 응답 내에서 외부 변수를 사용하는 방법

분류에서Dev

http 응답에서 서버 이름을 얻는 방법

분류에서Dev

Helper Mysql Promises Node.js에서 데이터를 전달하는 방법

분류에서Dev

Node.js의 콜백 함수에서 데이터를 반환하는 방법

분류에서Dev

응답 데이터로 각도 js에서 열거 형 값을 얻는 방법

분류에서Dev

node.js를 사용하여 명령 줄 promt에 응답하는 방법

분류에서Dev

Vue.js-axios 응답 데이터를 통해 객체에서 지정된 필드를 가져 오는 방법

분류에서Dev

jsx에서 응답 Json 데이터를 인쇄하는 방법

분류에서Dev

응답에서 데이터를 추출하는 방법 (소켓)

Related 관련 기사

  1. 1

    Node.JS-어떤 비동기 HTTP GET 응답이 콜백에서 데이터를 반환하는지 식별하는 방법은 무엇입니까?

  2. 2

    node.js에서 HTTP 응답 본문을 종료하는 방법

  3. 3

    jquery ajax를 사용하여 node.js 파일에서 데이터를 검색하는 방법

  4. 4

    node.js의 http 응답에서 호스트 이름을 얻는 방법은 무엇입니까?

  5. 5

    Java에서 HTTP json 응답 데이터를 조작하는 방법

  6. 6

    데이터베이스에서 검색된 데이터를 node.js의 응답으로 인쇄

  7. 7

    JavaScript / node.js의 HTTP 응답 헤더에서 잘못된 문자를 제거하는 방법은 무엇입니까?

  8. 8

    반응 js에서 동일한 배열에 두 개 이상의 응답 데이터를 추가하는 방법

  9. 9

    Node.js의 Google OAuth2에서 API를 검색하는 방법

  10. 10

    2D 배열 react.js에서 데이터를 검색하는 방법

  11. 11

    ionic에서 http.post의 응답에서 데이터를 추출하는 방법

  12. 12

    응답 유형이 arraybuffer 인 경우 HTTP get 메서드에서 Angular JS의 RAW JSON을 읽는 방법은 무엇입니까?

  13. 13

    Express js app.get 콜백에서 둘 이상의 독립적 인 응답 데이터를 가져 오는 방법

  14. 14

    Node.js는 때때로 HTTP GET에 응답하지 않습니다.

  15. 15

    $ http.get 메서드의 응답에서 JSON 데이터에 액세스하는 방법은 무엇입니까?

  16. 16

    Node.js 터미널에서 데이터를 저장하는 방법

  17. 17

    IIS는 node.js 앱에서 데이터 (HTTP GET 요청)를 읽을 수 없습니다.

  18. 18

    Python으로 HTTP 응답에서 데이터를 추출하는 방법은 무엇입니까?

  19. 19

    Laravel에서 응답 HTTP 데이터를 추가하는 방법은 무엇입니까?

  20. 20

    node.js에서 웹 페이지의 데이터를 조작하는 방법

  21. 21

    $ http.get의 promise 응답 내에서 외부 변수를 사용하는 방법

  22. 22

    http 응답에서 서버 이름을 얻는 방법

  23. 23

    Helper Mysql Promises Node.js에서 데이터를 전달하는 방법

  24. 24

    Node.js의 콜백 함수에서 데이터를 반환하는 방법

  25. 25

    응답 데이터로 각도 js에서 열거 형 값을 얻는 방법

  26. 26

    node.js를 사용하여 명령 줄 promt에 응답하는 방법

  27. 27

    Vue.js-axios 응답 데이터를 통해 객체에서 지정된 필드를 가져 오는 방법

  28. 28

    jsx에서 응답 Json 데이터를 인쇄하는 방법

  29. 29

    응답에서 데이터를 추출하는 방법 (소켓)

뜨겁다태그

보관