Bonjour,
J'ai une fonction appelee checkFlights, une series d'etats pours ouvrir base de donnee indexedDB et un window.onload pour déclencher la fonction checkflights.
Il semblerait que window.onload se declenche avant que la base de donnee se soit ouverte et du coup la fonction checkflights ne fonctionne pas normalement car elle considère la variable db comme null.
Code ci dessous. Merci d'avance pour votre support.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 var db = null const request = indexedDB.open('MyDataBase', '1'); //on upgrade needed request.onupgradeneeded = e => { db = e.target.result /* note = { title: "note1", text: "this is a note" }*/ const myFlights = db.createObjectStore("my_flight", { keyPath: "flightid" }) } request.onsuccess = e => { db = e.target.result } request.onerror = e => { alert(`error: ${e.target.error} was found `) } window.onload = function () { checkFlights() } function checkFlights() { const tx = db.transaction("my_flight", "readonly"); // var objectStore = transaction.objectStore('my_flight'); const mesVols=tx.objectStore("my_flight") var countRequest = mesVols.count(); countRequest.onsuccess = function() { console.log(countRequest.result); if((countRequest.result>0) && (window.navigator.onLine)){ sendFlights() notify("Flights sent to server") } } }
Partager