Я пытаюсь понять последовательность следующего кода, используя console.log
следы:
function fetchTsValues() {
console.log("fetchTsValues");
axios.get(urlValues)
.then(result => valuesToChannel(result.data))
.catch(() => setError('Impossible to get TS values'));
}
useEffect(() => {
fetchTsValues();
}, []);
function valuesToChannel(TSDetailAPI) {
console.log(TSDetailAPI);
console.log("valuesToChannel");
const updatedChannels = {...channels};
console.log("updatedChannels - 1", updatedChannels);
updatedChannels[TSDetailAPI.name].series = buildSeries(TSDetailAPI.values);
console.log("updatedChannels - 2", updatedChannels);
setChannels(updatedChannels);
setIsLoading(false);
}
console.log("error", error);
Следы следующие:
fetchTsValues
valuesToChannel
updatedChannels - 1 {demo-temperature-1: {…}}
error Impossible to get TS values
Что я не понимаю Вот почему я начинаю выполнять valuesToChannel
начальные инструкции перед тем, как меня остановит перехват fetchTsValues
axios.get
. get
работает правильно с кодом возврата 200.
Я мог бы понять, что в конечном итоге sh then
, а затем, если обещание не доставлено, перейти к catch
. Но здесь код даже не заканчивается предложением then
. Что я делаю неправильно или не понимаю?
Примечание: этот код является частью более широкого контекста реакции. Но я думаю, что я правильно понял сокращенный контекст.