#javascript #reactjs #promise #fetch
#javascript #reactjs #обещание #выборка
Вопрос:
В этом Codesandbox
Он загружает как 20 fetch
promises
в array
, а затем наблюдает за их разрешением с помощью progressbar.
Чего я не понимаю, так это почему в makeQueryablePromise
console.log('inside makeQueryablePromise ', value);
возврате undefined
, но в fetch
нем нет — console.log('inside fetch ', data))
. makeQueryablePromise
имеет то же promise
самое??
Вот экран печати, показывающий вывод журнала:
Комментарии:
1. опс неправильный codesandbox, я редактирую ok
Ответ №1:
В вашем коде:
const makeRequests = useCallback(function() {
return Array.from(Array(promises)).map(() =>
fetch(URL)
.then(res => res.json())
.then((data) => console.log('inside fetch ', data))
);
}, []);
Последний обратный вызов возвращается undefined
, потому console.log
что ничего не возвращает, поэтому вы теряете данные.
Чтобы решить эту проблему, верните данные:
.then((data) => {
console.log("inside fetch ", data);
return data;
})