这个 API 连接请求字符串缺少什么?

What am I missing with this API connection request string?

我的 api_key 在“.env”中。我可能想多了。这是我目前的代码,在不隐藏 api_key 的情况下工作。当我从 process.env.API_KEY.

中提取时,我的语法不正确
function call_api(finishedAPI, ticker) {
    request('https://cloud.iexapis.com/stable/stock/' + ticker + '/quote?token= + 'api_key', { json: true }, (err, res, body) => {
        if (err) {return console.log(err);}
        if (res.statusCode === 200){
           finishedAPI(body);
        };
    });
};

我知道有一种更简单的方法可以做到这一点,而且我对 google 提示的研究并没有在所有气缸上启动。我会从星巴克给你买咖啡或番茄罗勒帕尼尼:-)

应该是。您似乎还试图错误地使用回调。

注意 但是,很容易告诉您应该始终说明所使用的语言。只是让大家的事情变得简单。

function call_api(ticker, finishedAPI) {
    request({url: 'https://cloud.iexapis.com/stable/stock/' + ticker + '/quote?token= + 'api_key'}, { json: true }, (err, res, body) => {
        if (err) {return console.log(err);}
        if (res.statusCode === 200){
           finishedAPI(body);
        };
    });
};

function main(){
  call_api(ticker, function(fromCallapi){
     if(fromCallapi) console.log(fromCallapi);
  })
}

回调将在另一个方法或操作中调用,并在操作完成后返回给调用者,方法是将过程、变量或方法传回给它的调用者。

注意 参数 finishedAPI 应该重命名为 callback 最好的做法是表明过程、变量或方法将返回结果回到来电者。请注意,过度使用回调会全面影响应用程序的性能,并可能挂起进程。希望有帮助

更新

如果您计划使用 .env,您将需要在加载后使用 require('dotenv').config(path: '/path/to/.env') 例如访问名为 VARIBLE_NAME 的变量,您将使用 process.env.VARIBLE_NAME

函数call_api(finishedAPI, ticker) { request('https://cloud.iexapis.com/stable/stock/' + ticker + '/quote?token=' + API_KEY, { json: true }, (err, res, body) => { 如果(错误){return console.log(错误);} 如果(res.statusCode === 200){ 完成API(正文); }; }); };