this.auth().then(this.checkIfLoggedIn(result))
У вас две проблемы.
Первое: this.checkIfLoggedIn(result)
звонки checkIfLoggedIn
немедленно . Вам нужно передать функцию в then
.
this.auth().then(() => this.checkIfLoggedIn(result))
Второе: с этим изменением вы вызываете checkIfLoggedIn
, когда auth
разрешает.
Так, когда auth
разрешает ? Ну, это определено с ключевым словом async
, поэтому оно разрешается, когда оно returns
(если только оно не возвращает обещание, и в этом случае вместо этого оно принимает это обещание).
Так что же оно возвращает? У него нет оператора return
, поэтому он возвращает undefined
, когда добирается до конца ... что происходит сразу после вызова axios
(поскольку вы не await
этого не делаете).
Если вы return
изменили возвращаемое значение axios(...).etc
, оно не будет разрешено, пока не будет выполнено обещание .
(Кроме того, вы используете async
, вероятно, вам следует рефакторинг для использования await
, try {} catch() {}
вместо .then()
и .catch()
).