Это потому, что вы находитесь в .then()
обратном вызове метода, оператор return будет работать только для следующих .then()
. Чтобы проиллюстрировать это, я создаю fiddle
Если вы хотите, чтобы ваша функция возвращала ваши извлеченные данные, вы можете попробовать реализовать тот же лог c, но используя только async
await
.
async get_json_data(url_string) {
const res = await fetch("https://cors-anywhere.herokuapp.com/" + url_string)
const final_data = await res.json()
return final_data
}
Или, если вы хотите сохранить структуру .then()
, вам нужно создать собственную Promise
get_json_data(url_string) {
return new Promise(resolve => {
fetch("https://cors-anywhere.herokuapp.com/" + url_string)
.then(res => res.text())
.then(
(result) => {
let final_data = JSON.parse(result);
resolve(final_data);
},
(error) => {
}
)
})
}