Hi guys,
I am trying to use realtime API with stream builder. It works but the issue is on the first load it shows nothing. When I change value from the backend it builds the ui.
`/// Account Stream
Stream<RealtimeMessage> userStream() { final realtime = Realtime(client); RealtimeSubscription subscription = realtime.subscribe(['account']); return subscription.stream; }`
`/// Account Screen
class AccountScreen extends StatefulWidget { const AccountScreen({super.key});
static const routeName = '/account-screen';
@override State<AccountScreen> createState() => _AccountScreenState(); }
class _AccountScreenState extends State<AccountScreen> { final seafarerStream = AppwriteAuthService.instance.userStream(); @override void initState() { seafarerStream; super.initState(); }
@override Widget build(BuildContext context) {
return Scaffold(
appBar: const EzAppBar(
title: 'Account',
isPage: 'account',
),
body: EzStream(
stream: seafarerStream,
onData: (data) {
final doc = data.payload;
return EzText(
text: doc['name'].toString(),
fontWeight: FontWeight.w700,
);
},
));
} } `
How to load data on first load with stream builder....?
Kindly assist. Thank you
You will need to get the document or thing manually first time
As you would have done without realtime
As @D5 said, you need to fetch the user account details via account.get() to show initial data.
Realtime event is only fired when a data on the observing channel changes. It doesn't do a fetch on connect.
Thank you @darShan & @D5 Will try that. Was expecting to work like firebase
[SOLVED] Realtime API and stream builder
Recommended threads
- Help
- Realtime: Listener not triggered on upda...
I self host appwrite 1.8.1. The genereal functionallity works fine. But my realtime subscription isn't updating. I see "Received heartbeat response from realtim...
- Impossible to get USER after createEmail...
Am using provider to deal with functions linked to appwrite. Here is my login. Future<String?> login(String email, String password) async { try { aw...