HACKERRANK: COUNTRY CODES JAVASCRIPT BASIC

'use strict';


const fs = require('fs');
const https = require('https');
const axios = require('axios');

process.stdin.resume();
process.stdin.setEncoding('utf-8');

let inputString = '';
let currentLine = 0;

process.stdin.on('data', function(inputStdin) {
    inputString += inputStdin;
});

process.stdin.on('end', function() {
    inputString = inputString.split('\n');

    main();
});

function readLine() {
    return inputString[currentLine++];
}

async function getCountryName(code, pages) {
    // write your code here
    // API endpoint: https://jsonmock.hackerrank.com/api/countries?page=<PAGE_NUMBER>
    
    // for (let i=1;i<=25;i++){    
    return axios.get(`https://jsonmock.hackerrank.com/api/countries?page=${pages}`)
  .then(res => {
    const result = res.data.data.find(x => x.alpha2Code == code);
    console.log(pages);
    if (result == undefined){
        getCountryName(code, pages+1);
    } else {   
        console.log(result.name);
        return result.name; // why undefined? is because conditional inside axios then?
    }
  })
  .catch(error => {
    console.error(error)
  })
    // }
  
}

async function main() {
  const ws = fs.createWriteStream(process.env.OUTPUT_PATH);

  const code = readLine().trim();
  
      let pages = 1;
    const total = 25;
  
  const name = await getCountryName(code, pages);

  ws.write(`${name}\n`);

}

Lucky Ardhika

Lebih dekat dengan saya di https://luckyardhika.github.io/

Post a Comment

Previous Post Next Post