JavaScript,异步/等待和代码行为

时间:2020-01-13 20:03:28

标签: javascript async-await

最初,我有这样的代码:

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 :(得分:0)

否,不会有任何意外行为,因为在父函数中使用异步而不在块范围内使用等待与编写常规函数相同。 TLDR您只需要在子函数或阻止诺言的函数中的任何位置使用async / await关键字。