У меня есть эта функция:
// This function just add `_x` to all key and `_y` to all values
var data = {
glossary: {
title: "example glossary",
GlossDiv: {
title: "S",
GlossList: {
GlossEntry: {
ID: "SGML",
SortAs: "SGML",
GlossTerm: "Standard",
Acronym: "SGML",
Abbrev: "1986",
GlossDef: {
para: "DocBook.",
GlossSeeAlso: "GMLXML"
},
GlossSee: "markup"
}
}
}
}
};
function treee(data) {
Object.keys(data).map(function(key) {
if (data[key] && typeof data[key] === 'object') {
treee(data[key]);
}
data[key + '_x'] = typeof data[key] === 'string' ? data[key] + '_y' : data[key];
delete data[key];
});
}
treee(data);
console.log(data);
Я хочу изменить свое поведение. Я хочу '_x'
получать данные, получаемые с http-запроса (я использую npm, вы можете видеть doc здесь ): Я пробовал работать, чтобы заставить его работать, но все еще не работает. Вот как я это сделал:
var data = {
"glossary": {
"title": "example",
"GlossDiv": {
"title": "S",
"GlossList": {
"GlossEntry": {
"ID": "SGML",
"SortAs": "SGML",
"GlossTerm": "Language",
"Acronym": "SGML",
"Abbrev": "ISo",
"GlossDef": {
"para": "DocBook.",
"GlossSeeAlso": "GMLXML"
},
"GlossSee": "markup"
}
}
}
}
}
var http = require('request');
function treee(data) {
Object.keys(data).map(function(key) {
new Promise(function(resolve, reject) {
http({
url: 'url',
headers: {
'User-Agent': 'request'
}
},
function(err, res, body) {
if (err) {
console.log('err');
console.log(err);
resolve("err")
}
if (data[key] && typeof data[key] === 'object') {
treee(data[key]);
}
resolve(body.data)
}
);
}).then(function(d) {
data[key + d.x] = typeof data[key] === 'string' ? data[key] + '_y' : data[key];
delete data[key];
});
});
}
treee(data);
console.log(data);
Мой вопрос в том, как я могу получить данные из сети и добавить в свой json. Я хочу почти такое же поведение, за исключением того, что _x
происходит от http-запроса ... Спасибо
У меня есть эта функция:
// This function just add `_x` to all key and `_y` to all values
var data = {
glossary: {
title: "example glossary",
GlossDiv: {
title: "S",
GlossList: {
GlossEntry: {
ID: "SGML",
SortAs: "SGML",
GlossTerm: "Standard",
Acronym: "SGML",
Abbrev: "1986",
GlossDef: {
para: "DocBook.",
GlossSeeAlso: "GMLXML"
},
GlossSee: "markup"
}
}
}
}
};
function treee(data) {
Object.keys(data).map(function(key) {
if (data[key] && typeof data[key] === 'object') {
treee(data[key]);
}
data[key + '_x'] = typeof data[key] === 'string' ? data[key] + '_y' : data[key];
delete data[key];
});
}
treee(data);
console.log(data);
Я хочу изменить свое поведение. Я хочу '_x'
получать данные, получаемые с http-запроса (я использую npm, вы можете видеть doc здесь ): Я пробовал работать, чтобы заставить его работать, но все еще не работает. Вот как я это сделал:
var data = {
"glossary": {
"title": "example",
"GlossDiv": {
"title": "S",
"GlossList": {
"GlossEntry": {
"ID": "SGML",
"SortAs": "SGML",
"GlossTerm": "Language",
"Acronym": "SGML",
"Abbrev": "ISo",
"GlossDef": {
"para": "DocBook.",
"GlossSeeAlso": "GMLXML"
},
"GlossSee": "markup"
}
}
}
}
}
var http = require('request');
function treee(data) {
Object.keys(data).map(function(key) {
new Promise(function(resolve, reject) {
http({
url: 'url',
headers: {
'User-Agent': 'request'
}
},
function(err, res, body) {
if (err) {
console.log('err');
console.log(err);
resolve("err")
}
if (data[key] && typeof data[key] === 'object') {
treee(data[key]);
}
resolve(body.data)
}
);
}).then(function(d) {
data[key + d.x] = typeof data[key] === 'string' ? data[key] + '_y' : data[key];
delete data[key];
});
});
}
treee(data);
console.log(data);
Мой вопрос в том, как я могу получить данные из сети и добавить в свой json. Я хочу почти такое же поведение, за исключением того, что _x
происходит от http-запроса ... Спасибо