forEach should await the iteratorCallback
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 45/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- typescript
- Ambito
- databases
Direzione di ricerca
Parti dall’implementazione di storage forEach e traccia il modo in cui invoca iteratorCallback. Verifica che la Promise restituita attenda il completamento delle chiamate async a remove, in modo che un save successivo non possa entrare in conflitto con clear; il payload non indica alcun file o test specifico.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
We have a situation where we want to clear a bunch of items from storage, and then set items immediately after. We need to await the clear step before saving to prevent the clear from clearing the newly added items.
We are using forEach to iterate through storage, check each item and remove it if need be. Since remove is async we are awaiting it in the iteratorCallback and our iteratorCallback is marked as async. From the source code for storage we can see that the iteratorCallback is not awaited. This means that the forEach Promise could resolve before all the removes have completed.
Here is a sample of what our clear function is doing:
async clear() {
await this.storage.forEach(async (v, k, i) => {
if (k.startsWith(this.barcodeStorageKey) || k.startsWith(this.principleStorageKey)) {
await this.storage.remove(k);
}
});
}
We are using "@ionic/storage": "2.1.3"
- Lingua principale
- TypeScript
- Stelle
- 456
- Fork
- 97
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di ionic-team/ionic-storage
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
ionic-team/ionic-storage#326 · 1 commento ·
-
CREATE YOUR OWN LOCALSTORAGEAperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
ionic-team/ionic-storage#325 · 2 commenti ·
-
indexeddb issue on iOS 18+Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
ionic-team/ionic-storage#324 · 4 commenti · 1 reazione ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
ionic-team/ionic-storage#323 · 2 commenti · 1 reazione ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
ionic-team/ionic-storage#322 · 1 commento · 8 reazioni ·
Tutte le issue di ionic-team/ionic-storage
Issue simili
-
area: desktop area: website priority: P2 type: feature
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
appandflow/stim#3411 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
needs triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
rjsf-team/react-jsonschema-form#5485 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 65/100
lingdojo/kana-dojo#32090 · 1 commento · 5 reazioni ·
I maintainer di solito rispondono entro 1 giorno
-
Friction: Org home and org switcher copy still say repositories and connected agents live in the personal accountForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertafriction
Difficoltà 2/5 1-3 ore Idoneità per principianti 80/100
kentcdodds/kody#3265 ·
I maintainer di solito rispondono entro 1 giorno