2017-06-27 2 views
0

Ich habe eine App mit Elektronen bauen und beim Start eine große Menge von API-Aufrufe zum Einrichten der Benutzeroberfläche. Dies scheint meine Benutzeroberfläche unbrauchbar zu machen, bis alles fertig ist. Ich habe gelesen, dass das Hinzufügen dieses Codes zum Hauptprozess ähnliche Probleme hat (das gesamte Fenster sperren). Alle Funktionen, die diese API aufrufen und Daten in einem vuex Store speichern, versprechen dies.Electron - Wie zu verhindern, dass die UI sperren

Ich habe in die Erstellung von untergeordneten Prozessen require('child_process').fork('/worker.js')); untersucht, aber ich kann meine Hilfsmodule oder Klassen nicht innerhalb dieser Worker einschließen (SyntaxError: Unerwarteter Token-Import).

Was ist der beste Weg, um asynchrone Arbeit zu tun, ohne die Benutzeroberfläche zu blockieren, während ich immer noch Zugriff auf meine Renderer-Klassen und Singletons habe?

Dies ist die vorformulierten ich benutze, wenn es https://github.com/SimulatedGREG/electron-vue/tree/master/template

+0

Können Sie einen Kontext angeben, warum API-Aufrufe zum Rendern der Benutzeroberfläche erforderlich sind? - (Warum sollte man nicht eine Standard-UI für die gängigsten Komponenten rendern und nur einen API-Aufruf für die Benutzereinstellungen verwenden, die UI-Rendering bestimmen?) –

+0

Es handelt sich um einen internen Desktop-Timer für JIRA, der viele API-Aufrufe abrufen muss Projekte, Aufgaben in diesen Projekten, externe Arbeitsprotokolle synchronisieren usw. – Titan

+0

Die API-Aufrufe einleiten, Versprechungen zurückgeben und die Projekte rendern, wenn die Versprechen gelöst sind? –

Antwort

0

Es stellte sich heraus hilft ich rief vuex begehen sehr schnell, die eine Synchronaktion ist und verursachte den Rest der Anwendung als Ergebnis einzusperren

Verwandte Themen