Express.js を使用してサーバーをセットアップしていますが、関数の結果を返すために「/」への「GET」リクエストが必要です。この関数は、ニュース API から get 要求を行っています。「/」を呼び出すと、関数がトリガーされ、結果 (「ストーリー」) がコンソールに記録されますが、「/」「GET」要求への応答で何も送信されません。「return」ステートメントをいくつかの異なる場所に配置しようとしましたが、まだ機能しません...どんなアイデアでも大歓迎です! ありがとう!
app.js
var express = require('express');
var app = express();
var stories = require('./stories.js')
app.get('/', function(req, res){
var returnedStories = stories.searchStories();
res.send(returnedStories);
})
var server = app.listen(3000, function () {
var host = server.address().address;
var port = server.address().port;
console.log('going live on port', host, port);
});
ストーリー.js
var request = require('request');
function searchStories(){
var stories = '';
request({
url:'http://content.guardianapis.com/search?q=christopher%20nolan&api-key=3th9f3egk2ksgp2hr862m4c9',
json: true},
function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body.response.results) ;
stories = body.response.results;
return stories;
}
})
};
module.exports = {
searchStories: searchStories
}