Ci sono due modi per fare la stessa cosa (pseudo codice)
-
Definisci databaseHandle nella funzione padre e usalo come globale in questo ambito:
function API() { function openDatabase() { return databaseHandle; } databaseHandle = openDatabase() function getItem(i) { databaseHandle.get(i) } function addItem(name) { databaseHandle.add(name) } }
-
Definisci una funzione per ottenere questo handle, e poi prendilo quando ne abbiamo bisogno:
function API() { function openDatabase() { return databaseHandle; } function getItem(i) { databaseHandle = openDatabase() databaseHandle.get(i) } function addItem(name) { databaseHandle = openDatabase() databaseHandle.add(name) } }
La prima opzione sembra più semplice, e la vedo in molti esempi. Ma il secondo mi sembra più affidabile e ovvio in quello che fa (e un po 'ridondante).
Qual è la migliore pratica qui? Se c'è un altro, un modo migliore, mi piacerebbe sentirne parlare. Grazie.