Как это приложение преобразуется из IOConnection / IO в будущее при интеграции с Play? - PullRequest
1 голос
/ 03 августа 2020

Я смотрю на это репо на github, которое использует как play, так и doob ie.

Я хочу понять, как он в конечном итоге преобразуется из соединенияIO / IO из кошек в будущее, которое playframework построен на основе.

Я смотрю на контроллер и вижу userRepo, но не вижу, где и как он будет / из фьючерсов на IO.

  def doEdit(): Action[AnyContent] = UserAction { implicit req =>
    GsForms.user.bindFromRequest.fold(
      formWithErrors => editView(formWithErrors),
      data => userRepo.edit(data)
        .map(_ => Redirect(PublishedSpeakerRoutes.detail(req.user.slug)).flashing("success" -> "Profile updated"))
    )

}

https://github.com/gospeak-io/gospeak/blob/36fd9dd4ebe314c2ca8e02e2e2c714b6d399d045/web/app/gospeak/web/pages/user/profile/ProfileCtrl.scala#L28

1 Ответ

2 голосов
/ 03 августа 2020

В конце концов происходит вызов unsafeToFuture, который

оценивает эффект и выдает результат в Future.

в строке UICtrl.scala # L59 . На эти вопросы лучше всего отвечает функция Goto definition в среде IDE. Например, Metals предоставляет его всем основным редакторам . Часто в названии символа используется ярлык command+click или control+click.

введите описание изображения здесь

...