Non ci dici come e dove ricavi questi valori (farlo nel primo o nel secondo blocco cambia molto), quindi è difficile capire cosa non ti funziona come vorresti. In ogni caso a me sembra che non ci siano grossi problemi, una Promise non ti restituisce un valore se non dopo averla risolta e aver preso il risultato dentro la funzione then(). Quindi è normale che tu non riceva nessun valore da resolve() mentre lo ricevi se fai un alert(). Le promise funzionano così.
Se dentro la then() la variabile response ha il valore corretto vuol dire che funziona.