Ci sono due problemi in questo codice

1) prima dell'alert (che è uno statement sincrono) hai una chiamata ad una funzione asincrona che quindi decrementa il valore di p solo dopo l'esecuzione dell'alert stesso.

2) p inizialmente non ha alcun valore. Dovresti assegnargliene uno prima di incrementarlo o decrementarlo