Ho un Iterable e mi piacerebbe convertirlo in un flusso. Qual è la più efficiente/più breve quantità di codice per fare ciò?Qual è il modo migliore/più breve per convertire un Iterable in uno Stream, in Dart?
Ad esempio:
Future convert(thing) {
return someAsyncOperation(thing);
}
Stream doStuff(Iterable things) {
return things
.map((t) async => await convert(t)) // this isn't exactly what I want
// because this returns the Future
// and not the value
.where((value) => value != null)
.toStream(); // this doesn't exist...
}
Nota: iterable.toStream() non esiste, ma voglio qualcosa di simile. :)
Il '.dove (...)' parte non può lavorare a causa di una funzione asincrona (chiusura passata a ' .map (...) ') restituisce sempre un futuro e quindi il confronto in' .where (...) 'sempre vero anche quando' thing' è 'null'. –