В настоящее время я работаю над приложением elctron, которое использует typeorm для чтения из базы данных. Проблема в том, что любые вызовы базы данных блокируют основной поток и поток пользовательского интерфейса, хотя все методы помечены как асинхронные, и я жду их всех. Я также использую Electron-лучше-IPC для упрощения связи между основным и пользовательским интерфейсом. Вот пример
Вызов основного процесса из пользовательского интерфейса
messages = await ipc.callMain("getRelevantMessages", this.currentConversation);
getRelevantMessages в основном процессе
async getRelevantMessages(conversation: Conversations)
{
let messages = await this.messageRepository.find({ convo_id: conversation.id, type: 12 });
return messages;
}
Что я могу сделать, чтобы вышеуказанный код не блокировал поток пользовательского интерфейса?