返回未定义

时间:2020-07-31 11:29:47

标签: javascript node.js

const https = require('https');
const request = require('request');
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) {
    for (var i = 1; i<26; i++)
    {
    const url= 'https://jsonmock.hackerrank.com/api/countries?page='+i
     await request({url,json:true}, (error,{body})=>{
         for(var i=0; i<10 ; i++)
         {
             if (body.data[i].alpha2Code == code)
             {
                console.log(body.data[i].name)
                return body.data[i].name
                break
             }
         }
     })}
    //  return name
}

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

  const code = readLine().trim();

  const name = await getCountryName(code);

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

}

当我运行此程序时,结果显示为undefined而不是地名。但是当我登录时显示正确的值。

下面是当我将光标放在getCounrtyName函数上时的智能。

function getCountryName(code: any): Promise<void>

我认为应将其作为对诺言的回应,我不知道。

0 个答案:

没有答案