Тогда код топора ios. Не завершен и ошибка отловлена - PullRequest
0 голосов
/ 18 февраля 2020

Я пытаюсь понять последовательность следующего кода, используя 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. Что я делаю неправильно или не понимаю?

Примечание: этот код является частью более широкого контекста реакции. Но я думаю, что я правильно понял сокращенный контекст.

1 Ответ

1 голос
/ 19 февраля 2020

Благодаря Charl ie я смог исправить свою ошибку.

Я узнал, что использование Try ... catch эффективно для обнаружения ошибки бросили в неожиданные области кода!

...