如果我将async / await与不返回任何内容的函数一起使用会发生什么情况?

时间:2019-01-18 17:06:11

标签: javascript reactjs react-native async-await android-youtube-api

首先,我是javascript的初学者,尤其是async / await / promise。

我想在视频库(react-native-youtube)中同步使用seekTo()方法。在MDN guide中,它表示Await Expression需要Promise或某些值。即使没有返回任何内容,也可以使用seekTo()方法吗?

initVideo = async () => {
  await this._youTubeRef && this._youTubeRef.seekTo(startTime);
  this.setState({
    isPlaying: true
  });
}

如果有人对react-native-youtube库很了解,请告诉我如何将视频的endTime设置为部分播放。

1 个答案:

答案 0 :(得分:2)

  1. 如果一个函数(不是异步函数)没有显式返回值,那么它将在函数末尾返回undefined

  2. 您可以在异步上下文中使用此类“不返回”功能-它们只是返回一个可解析为未定义的Promise

  3. 尽管我没有使用您提到的库,但请始终记住await x是表达式,而不是语句。因此,如果.seekTo是异步的,那么您想要的是:

&& await this._youTubeRef.seekTo(startTime);