Код: Выделить всё
{"lux": 0, "pressure": 0.0, "TVOC": 0, "temp": 0.0, "hum": 0.0, "AQI": 0, "eCO2": 0}
Код: Выделить всё
async function get_data() {
await fetch('/api')
.then(resolve => resolve.json())
.then(data => jdata=data);
return jdata;
}
const JD = () => {
fetch('/api')
.then(resolve => resolve.json())
.then(data => jdata=data);
}
//let raw_data='{"lux":0, "pressure":0, "TVOC":0, "temp":0, "hum":0, "AQI":0, "eCO2":0}';
//jdata=JSON.parse(raw_data);
let raw_data=get_data();
jdata=JSON.parse(raw_data);
console.log(raw_data);
console.log(jdata);
console.log(JD);
console.log(jdata.lux);
document.getElementById("dane_temp").innerHTML = jdata.temp;
Неперехваченная синтаксическая ошибка: JSON.parse: неожиданный символ в столбце строки 1 2 строки данных JSON
поэтому я комментирую строку JSON.parse. Проблема в том, что raw_data является объектом promise, и я не могу получить право на присвоение этих данных JSON Переменная jdata.
Обычно у меня возникают проблемы с извлечением этих вложенных объектов во что-то, что я могу проанализировать. Когда я назначаю строку, как в разделе с комментариями, я могу выполнить JSON.parse, и все работает, но тогда raw_data не является объектом, это просто строка. Но с этой асинхронной функцией это то, что находится в raw_data:
Код: Выделить всё
Promise { : "pending" }
: "fulfilled"
: Object { lux: 0, pressure: 0, TVOC: 0, … }
: Promise.prototype { … }
Я просмотрел разные сообщения на этом форуме, и из-за того, что я обычно не программирую на JS, у меня возникли проблемы с пониманием того, как извлечь строку из этого объекта обещания.
Можете ли вы мне с этим помочь?
Подробнее здесь: https://stackoverflow.com/questions/793 ... pty-string
Мобильная версия