
As the title states, I have code I want to run at the beginning of my app loading and it's asynchronous and required for my HomeView, obviously I can't put it inside initState
so where do I put it?

You put it inside a separate async function. And you call this function from the iniState method

oh

huh

that's confusing lol

If you don't want the page the load before then you can create a middle splash page

That's usually the way with stuff like this

lol

okay so

The following assertion was thrown building Builder:
_HomeViewState.initState() returned a Future.
State.initState() must be a void method without an `async` keyword.
Rather than awaiting on asynchronous work directly inside of initState, call a separate method to do this work without awaiting it.

Future<void> setupState() async {
model.User? account = await ref.read(authAPIProvider).currentUserAccount();
if (account != null) {
model.Document userDocument =
await ref.read(userAPIProvider).getUserData(account.$id);
UserModel userModel = UserModel.fromMap(userDocument.data);
needsLogin = userModel.sessionData.isNotEmpty;
print("needsLogin: $needsLogin");
if (!needsLogin) {
final userData =
await ref.read(dataAPIProvider).getUserData();
userData.fold(
(l) {
print("Error getting data: ${l.message}");
},
(r) {
setState(() {
userData = r;
});
},
);
}
}
}
@override
void initState() async {
super.initState();
await setupState();
}

this doesn't work and gives me an error

do I need to call a function normally and have that function call the async function?

InitState should remain sync

okay so I did

void doSetup() {
setupState();
}
@override
void initState() {
super.initState();
doSetup();
}

and that seems to work lmao

You just call the inner function. And you can use then
if you need
Recommended threads
- Can't use --queries in appwrite cli
I want to fetch some documents, but i cant use the queries. If someone knows how to do it, pls i would apprecieate the support. I did some attempts with differe...
- Global Variables
I'm building a Azure DevOps Pipeline Task to deploy my functions to Appwrite using REST APIs. How can I set project global variables via REST? This endpoint do...
- Tables freeze in console 1.7.4
In version 1.7 of appwrite, tables start to freeze in console very much if there are a lot of elements (more than 96). The information takes a very long time to...
