Quote Originariamente inviata da cofra347 Visualizza il messaggio
Mi ritrovo una funzione start che prende 2 parametri, mentre la vedo chiamata con un parametro solo.
Vabbè, suppongo che il secondo parametro sia opzionale, vado avanti.
Le funzioni in JavaScript hanno un numero di parametri potenzialmente sempre variabili: puoi indicarne quanti ne vuoi, indipendentemente dalla dichiarazione; se la funzione prevede parametri espliciti con un nome, i valori vengono salvati nei parametri in base alla posizione occupata in cui vengono passati, mentre se i valori sono assenti i parametri saranno undefined, oppure ancora se indichi più valori dei parametri a disposizione, essi saranno accettati comunque e saranno accessibili tramite la variabile "nascosta" (passami il termine) arguments all'interno della funzione.

Quote Originariamente inviata da cofra347 Visualizza il messaggio
La cosa strana: nel corpo della funzione start c'è una funzione anonima che ha come parametro la variabile response. Non riesco a capire da dove salta fuori quella variabile response, visto che non la trovo altrove nel programma.
Come ti è stato già detto, non salta fuori da nessuna parte perché è dichiarato come parametro della funzione in cui appare, quindi quella funzione si aspetta che il valore di response venga passato nel momento in cui viene invocata.

Sarà quindi il codice che riceve la funzione stessa come valore di ritorno ad andare a richiamare questa passando il valore corretto come parametro response.

Oltre alle Promise che ti hanno suggerito, approfondisci anche l'argomento della programmazione funzionale.

Ciao!