【发布时间】:2015-01-26 06:13:09
【问题描述】:
我遇到了异步导出变量的问题。我想访问另一个文件中的apiData。目前,出于明显的原因,我正在导出一个空数组。如何异步执行此操作并获取 JSON 数据?
var express = require('express');
var router = express.Router();
var request = require('request');
/* GET home page. */
router.get('/', function(req, res) {
res.render('index', { title: 'InstaExpress' });
});
var apiData = [];
router.post('/apiData', function(req, res) {
var latitude = req.body.latitude;
var longitude = req.body.longitude;
var galleryURL = 'http://mobile-test-api.influentialdev.com/stream' +
'?' + 'lat=' + latitude + '&lng=' + longitude;
var detailURL = 'http://mobile-test-api.influentialdev.com/stream/:id';
request(galleryURL, function(error, response, body) {
if(!error && response.statusCode == 200) {
apiData = JSON.parse(body);
res.json(apiData);
}
});
});
// I want the apiData to be exported after the asynchronous operation above:
module.exports = {
router: router,
apiData: apiData
};
【问题讨论】:
标签: javascript node.js http express