Это называется каскадной нотацией и задокументировано в языковой экскурсии по дартсу: https://dart.dev/guides/language/language-tour#cascade -notation-
Причина, по которой она используется в вашем примере, заключается в том, что автор этого В примере требуется, чтобы переменная _videoPlayerController
была ссылкой на объект, созданный VideoPlayerController.file(_video)
, а не Future
, возвращаемым из then()
.
Вы также можете написать этот код следующим образом:
_videoPlayerController = VideoPlayerController.file(_video);
_videoPlayerController.initialize().then((_) {
setState(() { });
_videoPlayerController.play();
});
Поэтому причина, по которой вы не можете ждать VideoPlayerController.file(_video)..initialize().then(
, заключается в том, что результатом этой строки является не Future
, а VideoPlayerController
объект.