#javascript
#javascript
Вопрос:
У меня есть запрос API на выборку, подобный этому
fetch('http://127.0.0.1:8000/api/usersRecords')
.then(response=>response.json())
.then(data=>{
console.log(data.usersRecords);
});
Когда я делаю console.log(data.usersRecords)
(3) [{…}, {…}, {…}]
0: {"id": 1, "name": "Robbie", "kill": 12 , "knock": 1}
1: {"id": 2, "name": "Mohamand", "kill": 12 , "knock": 4}
2: {"id": 3, "name": "Jebisha", "kill": 8 , "knock": 4}
length: 3
__proto__: Array(0)
У меня есть два URL-адреса, которые необходимо получить
fetch('http://127.0.0.1:8000/api/usersRecords')
.then(response=>response.json())
.then(data=>{
console.log(data.usersRecords);
});
fetch('http://127.0.0.1:8000/api/usersRecord1')
.then(response=>response.json())
.then(data=>{
console.log(data.usersRecords1);
});
Я хочу создать массив, подобный этому, из приведенной выше выборки и использовать их для объединения двух запросов API и суммирования их данных только для уничтожения и выбивания
var demo = {
"key1": [{"id": 1, "name": "Robbie", "kill": 12 , "knock": 1},
{"id": 2, "name": "Mohamand", "kill": 12 , "knock": 4},
{"id": 3, "name": "Jebisha", "kill": 8 , "knock": 4}],
"key2": [
{"id": 1, "name": "Robbie", "kill":12 , "knock": 4},
{"id": 2, "name": "Mohamand", "kill": 13 , "knock": 3},
{"id":3, "name": "Jebisha", "kill": 5 , "knock": 1}]
};
Further, I need to merge two URLs and sum their data kill and knock. So this is code to merge and sum their kill and knock.
var res = demo.key1.map(function(item, idx) {
return Object.keys(item).reduce(function(obj, key) {
if (key == 'name') {
obj[key] = item[key];
} else {
obj[key] = item[key] demo.key2[idx][key];
}
return obj;
}, {});
});
Комментарии:
1.
console.log({key1: data.userRecords})
2. @JaromandaX Спасибо, могу я задать еще один вопрос?
3. Вы можете задавать столько вопросов, сколько захотите, в stack overflow, если они соответствуют изложенным рекомендациям
4. @JaromandaX Предположим, что есть var demo ={key1: data.userRecords}; . Теперь я хочу использовать эту демонстрацию вне выборки. Как я могу?
5. в
.then
или с помощью async / await
Ответ №1:
fetch('http://127.0.0.1:8000/api/usersRecords')
.then(response=>response.json())
.then(data=>{
let myObject = {"key1" : data.usersRecords};
console.log(myObject);
});
Комментарии:
1. Как я могу использовать теперь переменную MyObject вне выборки?
2. @BeginnerCoder — вы не можете — он объявлен внутри last .then , и даже если вы сделаете его глобальным, он не будет заполнен до этого. затем выполняется, и теперь мы переходим к доступу к асинхронным результатам за пределами асинхронной функции, которая представляет собой совершенно другое минное поле
3. @JaromandaX Тогда моя проблема состоит в том, чтобы получить два URL-адреса, и я хочу создать один URL-ключ и другой ключ2.
4. @JaromandaX Не могли бы вы еще раз задать мой вопрос, пожалуйста?