app.use('/weather/images', (req, res, next) => { forecast.fetch(req.query.latitude, req.query.longitude) .then((result) => { let weatherType = result.currently.summary.toLowerCase(); let searchOptions = { q: weatherType, filter: 'images safe', include_entities: true, result_type: 'mixed', lang: 'en', count: 10 }; twitter.getSearch(searchOptions, twitterError, (data) => { twitterResponse = JSON.parse(data); let twitterStatuses = twitterResponse.statuses; let entities = []; let images = []; twitterStatuses.map((item) => entities.push(item.entities)); entities.map((item) => images.push(item.media ? item.media[0].media_url_https : '')); res.send({images: images, weather: weatherType}); }); }) .catch((error) => console.error(error)); });
function getForecast(latitude, longitude, callback){ var forecast = new Forecast({ key: api_key, timeout: 2500 }); var options = { units: 'si', }; forecast.fetch(latitude, longitude, options) .then(function(out) { var out = out.currently; callback(null, out); }) .catch(function(error) { // console.error(error); callback(error); }); }
router.get('/weather', function * () { let result = yield forecast.fetch(config.forecastio.location.lat, config.forecastio.location.lng); this.body = result; });