build method
Implementation
@override
Widget build(BuildContext context) {
return FutureBuilder<T>(
future: future,
initialData: initialData,
builder: (BuildContext context, AsyncSnapshot<T> snapshot) {
if (snapshot.hasError) {
Widget child = ErrorMessage(
error: snapshot.error,
stackTrace: snapshot.stackTrace,
);
return onError != null
? onError!(
snapshot.error,
snapshot.stackTrace,
child,
snapshot.connectionState,
)
: child;
}
if (snapshot.hasData) {
return builder(context, snapshot.data as T, snapshot.connectionState);
}
Widget child = WaitingMessage(message: waitingMessage);
return onWait != null
? onWait!(snapshot.connectionState, child)
: child;
},
);
}