Async significa che il contenuto Javascript viene caricato come una propria nuova connessione, parallelamente a qualsiasi altro codice esistente. Con async, il browser crea un nuovo thread di elaborazione che non rallenterà i download esistenti mentre il Javascript viene scaricato ed eseguito. Defer d'altra parte, chiede al browser di analizzare lo script, dopo che il resto del contenuto è stato scaricato. Sebbene questo di solito sia un bene per la velocità, potrebbero esserci alcuni problemi con il tuo contenuto, se fa riferimento allo script che è stato differito (perché non sarà disponibile).