Wir haben einen Loader, der auf einem Ereignis-Listener basiert. Dies ist durch pouchdb.Bei asynchronen Ereignissen in JavaScript den Status beibehalten
Jedes Mal, wenn ein Dokument an den Client gesendet wird, wird der Listener ausgelöst. Wir prüfen, ob das Dokument mit dem Loader verbunden ist, und aktualisieren dann nach einem anderen asynchronen Callback den Prozentsatz in einer globalen Variablen der Benutzeroberfläche.
Das Problem ist jetzt
- eine Antwort von dem Server empfangen wird, und der Hörer wird an die Ereigniswarteschlange hinzugefügt
- Eine andere Antwort von dem Server empfangen wird und der Hörer wird an die Ereigniswarteschlange hinzugefügt
- die eventlistener Methode wird für das erste Ereignis Warteschlangenelement genannt
- die doAsyncCallbackithVerification an die Ereigniswarteschlange hinzugefügt wird
- die Methode ist eventlistener Aufruf ed für das Element zweite Ereigniswarteschlange
- Die doAsyncCallbackithVerification wird
- Die doAsyncCallbackithVerification Verfahren und der Prozentsatz auf 85
- Die doAsyncCallbackithVerification Methode wird und der Prozentsatz wird bis 85 wieder aktualisiert genannt aktualisiert wird aufgerufen, um die Ereigniswarteschlange hinzugefügt
Wann würden wir den Prozentsatz erwarten 90 zu sein (da Anzahl der Anrufzeiten Methode 2 und 2 * 5)
var percentage = 80;
function eventListener() {
if(loaderRelated){
doAsyncCallbackithVerification(percentage, function(newPercentage){
percentage = newPercentage;
});
}
}
db.listenForTheEvents(eventListener);
Was ist der normale Standard, um dies zu handhaben, unter Berücksichtigung, was ich oben geschrieben habe, war Javascript Pseudocode basierend auf einem viel komplexeren Fall dann. Wir verwenden auch RxJs, also könnte das verwendet werden, um diese Szenarien abzuschwächen und wenn ja wie.
Es ist mir nicht klar, was Sie * wollen * passieren. Sollte der zweite Callback den Prozentsatz auf eine andere Nummer ändern? – AmericanUmlaut
Ja, das wäre die erwartete Ausgabe, ich habe auch den Pseudocode leicht bearbeitet, um den Statuswert zu übergeben. Die angegebene erwartete Ausgabe wird dann 90 sein. – MilindaD