Я все еще новичок в трепетании дротиков, сейчас я пытаюсь получить данные из REST API и socket.IO. В настоящее время у меня запутанная проблема, я пытался искать в интернете в течение 3 дней, но решения не найдено. У меня есть сценарии async и await, но функция, которую я добавил await, не дает никакого ответа и все еще делает паузу.
предполагается, что у меня есть два разных файла, первый - основной файл, а второй - вспомогательный файл.
main.dart
Future<List<ChatTile>> fetchChat(socketutil,id) async {
socketutil.join(id); //STACK IN HERE
SharedPreferences prefs = await SharedPreferences.getInstance();
String messagePrefs = prefs.getString('messagePrefs');
print("DUA");
return await compute(parseListChat, messagePrefs);
}
helper.dart
Future<void> join(String id_room) async {
String jsonData ='{"room_id" : "$id_room","user_id" : "5a91687811138e74009839c9","user_name" : "Denis Muhammad Ramdan","user_photo" : "photo.jpg","user_status" : "1"}';
socketIO.sendMessage("join", jsonData, null);
//subscribe event
return await socketIO.subscribe("updateMessageList", (result) async {
SharedPreferences prefs = await SharedPreferences.getInstance();
await prefs.setString('messagePrefs', result);
print('SATU');
return await result;
});
}
мой вопрос, что-то не так с моим кодом, и как лучше?
большое спасибо,