Rank 1: Thread
Hi,
I am not sure if this is an appwrite function issue but I am supposing so.
I have something I wanna loop for every entry in a list returning type Future<> building a new List.
It works for some certain length of the list (4-5 at max). The rest fails in "An internal curl error has occurred within the executor! Error Msg: Operation timed out"
❌
List<CalendarWeek> newCalendarWeeks = await Future.wait(calendarWeeks.map((e) => getFilledCalendarWeek( e, databases, databaseId, userId, )));Thought it is something with the map but same for: ❌
List<Future<CalendarWeek>> test = []; for (CalendarWeek calendarWeek in calendarWeeks) { test.add(getFilledCalendarWeek( calendarWeek, databases, databaseId, userId, )); }
List<CalendarWeek> newCalendarWeeks = await Future.wait(test);This is a workaround that was fine for my test runs: ✅
List<CalendarWeek> newCalendarWeeks = []; for (int i = 0; i < calendarWeeks.length; i += 4) { int? endIndex = (i + 4) < calendarWeeks.length ? (i + 4) : null; List<CalendarWeek> subList = calendarWeeks.sublist(i, endIndex); newCalendarWeeks.addAll(await Future.wait( subList.map((calendarWeek) => getFilledCalendarWeek( calendarWeek, databases, databaseId, userId, )))); }So it basically is about the length of entries I add in the "Future.wait([])".
Is this a common behaviour and I am missing something?
Thank you guys!