Open omkardeshpande3194 opened 3 years ago
I guess we should be pulling user from some UserService in the home model loadData( ) method. As we cannot rely on pushed data (doesn't assure delivery) but we can wait and listen for data form user service in home model.
@omkardeshpande3194 provider was updated quite a bit after this tutorial. I think you need to set lazy false for the StreamProvider for this to work.
I followed the pattern you suggested in provider-aechitecture-pt2
The flow is common as follows, login view gets user credentials , passes to login view model which then passes to auth service. After api call is successful auth service adds user to user stream controller and then on login success navigator.pushNamed() Which pushes to homeview
ref - https://github.com/FilledStacks/flutter-tutorials/blob/master/012-provider-architecture-pt2/2-final/lib/ui/views/home_view.dart
onModelReady: (model) => model.loadData(Provider.of(context))
The issue I am facing is that the stream controller doesn't pass the user before model.loadData() is called for homeview. After reading a few articles I got to know that there is no way to ensure if streams deliver data. Am I missing something? how can I solve this issue?
Not sure if this is the right place to ask this question