Ich versuche, einen Warteschlangenhandler für die Verwaltung von Benachrichtigungen mit einem Redux-Saga-Generator zu implementieren.Prozesswarteschlange mit Redux-Saga
Grundsätzlich muss ich Benachrichtigungen nacheinander anzeigen, wie sie die Warteschlange eingeben.
Dazu habe ich eine queue
Array in der redux Speicher, eine Aktion QUQUE_NOTIFICATION
Aktion zu Warteschlange und SHOW_NOTIFICATION
hinzuzufügen, um eine Meldung für die Warteschlange zu entfernen.
Meine aktuelle Saga Implementierung ist, dass einfach:
export function* watchQueue() {
while (true) {
const state = yield select()
const queue = state.queue
if (queue.length > 0) {
yield put({ action: 'SHOW_NOTIFICATION', queue[0])
}
yield call(delay, 5000);
}
}
}
Das Problem bei der aktuellen Implementierung ist, dass, wenn eine Warteschlange leer ist ein QUQUE_NOTIFICATION
wird ausgelöst Generator wartet werden kann, um die Verzögerung zu beenden.
Ich möchte jedoch die erste Benachrichtigung anzeigen, sobald sie in die Warteschlange eintritt. Irgendwelche Ideen?