Как изменить window.location.href в соответствии с возвращаемым значением? - PullRequest
0 голосов
/ 19 января 2020

Я использую это в функции рендеринга

    @observable private redirectUrl: string = null;

    public async componentWillMount() {
        this.redirectUrl = await this.getRedirectUrl();
    }

    public render() {
        if (this.redirectUrl) {
            window.location.href = this.redirectUrl;
            return null;
    } 



, где redirectUrl можно наблюдать и получать с помощью асинхронной c функции. Но это не работает в функции componentWillMount. Я думаю, что причина в том, что это происходит через asyn c.

Как это решить?

1 Ответ

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

Поскольку async функция вернет обещание, вы можете сделать что-то вроде следующего,

async componentWillMount () {
    await anotherAsyncFunction()
    window.location.href = this.redirectUrl
}

Надежда будет работать.

...