1
내 추세 변수를 해당 함수에서 내 Pug 템플릿의 렌더러로 전달할 수 있도록하려고합니다. 그렇게 할 수 없습니다. Node.js 변수가 함수 외부에서 사용됩니다.
var express = require('express');
var router = express.Router();
var googleTrends = require('google-trends-api');
var auth = require('http-auth');
var ustrends;
var uktrends;
const Console = require('console').Console;
var basic = auth.basic({
realm: "Web."
}, function (username, password, callback) { // Custom authentication method.
callback(username === "user" && password === "pass");
}
);
var find = ',';
var regex = new RegExp(find, 'g');
googleTrends.hotTrends('US').then(function(trends){
ustrends = trends
});
googleTrends.hotTrends('EU').then(function(trends1) {
uktrends = trends1
});
console.log(ustrends);
/* GET home page. */
router.get('/', auth.connect(basic), function(req, res, next) {
res.render('index', {trends: ustrends.toString().replace(regex, ", "), trends1: uktrends.toString().replace(regex, ", "), title: 'Trends in the U.S & U.K'});
});
module.exports = router;
당신이 볼 수 있듯이
, 나는 렌더러에 "ustrends"와 "uktrends"변수를 전달하기 위해 노력하고있어. 어떤 도움을 주셔서 감사합니다.
정확하게 문제를 일으키는 것은 무엇입니까? 'ustrends'와'uktrends'가 비어 있거나 널인지, 아니면 당신이 예상하지 못한 것이 렌더링 된 출력에 있습니까? 문제가 변수 범위는 – kevin628
경우 먼저 시도 : router.get 다음 ('/'auth.connect) (기본 함수 (REQ, 입술) { VAR의 resultObj; resultObj.ustrends의 =의 ustrends; resultObj을 .uktrends = uktrends; res.json (resultObj); }); /url을 요청할 때 빈 개체가 보입니까? – SamiX