[편집]node.js에서 json을 사용하기 전에 json이로드 될 때까지 기다리는 방법은 무엇입니까?
나는 그것을 알아 냈다. 코드는 다음과 같이 끝 :
//getTrelloJSON.js
var request = require('request');
'use strict';
function getProjJSON(requestURL, callback){
request.get({
url: requestURL,
json: true,
headers: {'User-Agent': 'request'}
}, (err, res, data) => {
if (err) {
console.log('Error:', err);
} else if (res.statusCode !== 200) {
console.log('Status:', res.statusCode);
} else {
callback(data);
}
});
}
module.exports.getProjJSON = getProjJSON;
그리고
//showData.js
var getJSON = require('./getTrelloJSON');
getJSON.getProjJSON('https://trello.com/b/saDpzgbw/ld40-gem-sorceress.json', (result) => {
var lists = result.lists;
console.log(lists);
});
나는
node showData.js
를 실행하고는 JSON을 얻고, 필요에 따라 다음 나는 그것을 조작 할 수 있습니다. 나는 그것이 효과가 있다는 것을 보여주기 위해 인쇄했다.
[편집 END]
내가 Node.js를 새로운 그리고 난 놈의 문제에 직면하고있다. 이 코드는 public trello 보드에서 JSON을 요청하고 trello 's json (섹션 섹션) 섹션이있는 객체를 반환합니다.
첫 번째 console.log()
은 작동하지 않지만 두 번째는 작동하지 않습니다.
인쇄하기 전에 getProjJSON()
의 완료를 기다리는 방법은 무엇입니까?
var request = require('request');
'use strict';
//it fails
console.log(getProjJSON('https://trello.com/b/saDpzgbw/ld40-gem-sorceress.json'));
function getProjJSON(requestURL){
request.get({
url: requestURL,
json: true,
headers: {'User-Agent': 'request'}
}, (err, res, data) => {
if (err) {
console.log('Error:', err);
} else if (res.statusCode !== 200) {
console.log('Status:', res.statusCode);
} else {
//it works
console.log(data.lists);
return data.lists;
}
});
}
Node.js를 모든 콜백에 관한 해결되기를 바랍니다. console.log (data.lists)를 원하면 응답 본문에 로그인하십시오. – forqzy
첫 번째 console.log는 인쇄를 시도 할 때 JSON obj가 준비되지 않았 음을 보여줍니다. 코드는 반환하기 전에 JSON이로드 될 때까지 기다려야합니다. 나는 그걸하는 법을 모른다. –