Popcorn.Services.Movie.MovieService.GetMovieTrailerAsync C# (CSharp) Méthode

GetMovieTrailerAsync() public méthode

Get the link to the youtube trailer of a movie
public GetMovieTrailerAsync ( MovieFull movie, CancellationToken ct ) : Task>
movie Popcorn.Models.Movie.Full.MovieFull The movie
ct System.Threading.CancellationToken Used to cancel loading trailer
Résultat Task>
        public async Task<ResultContainer<Video>> GetMovieTrailerAsync(MovieFull movie, CancellationToken ct)
        {
            var watch = Stopwatch.StartNew();

            var trailers = new ResultContainer<Video>();
            try
            {
                await Task.Run(async () => trailers = (await TmdbClient.GetMovieAsync(movie.ImdbCode, MovieMethods.Videos))?.Videos, ct);
            }
            catch (Exception exception) when (exception is TaskCanceledException)
            {
                Logger.Debug(
                    "GetMovieTrailerAsync cancelled.");
            }
            catch (Exception exception)
            {
                Logger.Error(
                    $"GetMovieTrailerAsync: {exception.Message}");
                throw;
            }
            finally
            {
                watch.Stop();
                var elapsedMs = watch.ElapsedMilliseconds;
                Logger.Debug(
                    $"GetMovieTrailerAsync ({movie.ImdbCode}) in {elapsedMs} milliseconds.");
            }

            return trailers;
        }