我已经开始学习nodeJS,并创建了一个小的股票网络应用程序,您可以在其中搜索股票行情自动收录器(例如“ TSLA”),它将返回股票信息,例如价格,股票交易所,价格等。我想更进一步,能够获得有关该特定股票的任何新闻。我现在遇到的问题是它目前无法获取和显示新闻。但是,如果我删除了请求API以获取股票信息,则会显示新闻。感谢您的帮助。
// Request API to obtain stock information
function call_api(finishedAPI, ticker){
request(`https://cloud.iexapis.com/stable/stock/${ticker}/quote?token=`, {json: true}, (err, res, body) =>{
if (err){
console.log(err)}
if (res.statusCode === 200){
// console.log(body)
finishedAPI(body)
};
});
};
// Request API to obtain stock news
function news_API(newsAPI, test){
request(`https://newsapi.org/v2/everything?q=${test}&apiKey=`, {json: true}, (err, res, body) =>{
if (err){
console.log(err)}
if (res.statusCode === 200){
console.log(body.articles[0].author)
newsAPI(body)
};
});
};
// Stock page
app.get('/', (req,res) =>{
call_api(function(doneAPI){
res.render('index',{ title: 'Stock',
stock: doneAPI
});
}, 'TSLA');
});
//POST data for stock submitting.
app.post('/', (req,res) =>{
call_api(function(doneAPI){
res.render('index',{ title: 'Stock',
stock: doneAPI
});
}, req.body.stockText);
});
//News
app.get('/', (req,res) =>{
news_API(function(newsAPI){
res.render('index',{ title: 'Stock',
stock: newsAPI
});
}, 'TSLA');
});
app.post('/', (req,res) =>{
news_API(function(newsAPI){
res.render('index',{ title: 'Stock',
stock: newsAPI.articles[0].author
});
}, req.body.stockText);
});
答案 0 :(得分:1)
两种API都使用相同的路由。 app.get中使用的路由是相同的(“ /”)。 为两个请求使用不同的路线