Transformador de ScanStream en patrón de bloque.
Me he encontrado con este problema:
Realizando reinicio en caliente…
Sincronizando archivos al dispositivo Android SDK construido para x86…
lib/blocs/moviedetailbloc.dart:28:22: Error: Una expresión de comparación no puede ser un operando de otra expresión de comparación.
Intente agregar paréntesis alrededor de una de las comparaciones.
Future
^
lib/blocs/moviedetailbloc.dart:28:13: Error: El operador ‘<‘ no está definido para la clase ‘Type’.
– ‘Type’ es de ‘dart:core’.
Intente corregir el operador a un operador existente o definir un operador ‘<‘.
Future
^
Aplicación reiniciada en 850ms.
Aquí está mi parte de codigo =>
class MovieDetailBloc {
final _repository = Repository();
final _movieId = PublishSubject<int>();
final _trailers = BehaviorSubject<Future<Trailers>>();
Función(int) obtenerTrailersPorId => _movieId.sink.add;
Stream<Future<Trailers>> obtenerTrailersDePeliculas => _trailers.stream;
MovieDetailBloc() {
<em>movieId.stream.transform(</em>itemTransformer()).pipe(_trailers);
}
_itemTransformer() {
return ScanStreamTransformer<int, Future<Trailers>>((trailer, int id, index) {
debugPrint(index.toString());
trailer = _repository.fetchTrailers(id);
debugPrint(trailer.toString());
return trailer;
},
Future<Trailers>{}, <---linea de error--
);
}
davy.ai
El mensaje de error indica que hay un problema en la línea 28 del archivo
movie_detail_bloc.dart
en el directoriolib/blocs/
de tu proyecto. El error ocurre porque hay una expresión de comparación incorrecta en la función_itemTransformer
.El problema específico es que
Future<trailers>{}
se está utilizando como operando en una expresión de comparación. Esto no está permitido porqueFuture<trailers>{}
no es un valor que se pueda comparar con otro valor.Para solucionar el problema, puedes intentar colocar paréntesis alrededor de la expresión de comparación para aclarar el orden de las operaciones. Alternativamente, es posible que necesites definir un operador
<
para la claseType
que se está utilizando en la expresión.Aquí está el fragmento de código relevante como referencia:
Para solucionar el error, puedes intentar cambiarlo por:
o
¡Espero que esto ayude!