JavaScript, асинхронность / ожидание и поведение кода - PullRequest
0 голосов
/ 13 января 2020

Изначально у меня был такой код:

handleOnSelectFile = event => {
    // a lot of code using 'event', props, etc.

    SomeFunction.parse(someVar, {complete: async results => {
        // more code
        this.setState({ someExampleState: true})});
    }
});
}

Теперь я должен использовать функцию с async / await, поэтому функция выглядит так:

handleOnSelectFile = async event => {
// a lot of code using 'event', props, etc.

SomeFunction.parse(someVar, {complete: async results => {
    // more code
    await getAll(type);// <--- THIS IS NEW
    this.setState({ someExampleState: true})});
  }
});
}

Мой вопрос есть ли при использовании async для всего параметра handleOnSelectFile есть ли вероятность непредвиденного поведения с кодом внутри? Единственная причина использования async/await - функция getAll в конце моего кода.

1 Ответ

0 голосов
/ 13 января 2020

Нет, непредвиденного поведения не будет, поскольку использование asyn c в родительской функции без использования await в области видимости блока аналогично написанию обычной функции. TLDR Вам нужны только ключевые слова async / await в дочерней функции или там, где есть обещание.

...