Making a script async does not guarantee any synchronous execution, except that of the script itself.
<script async src="jquery.js"></script>
<script>
$.noop() // will definitely throw an error
</script>
<script async src="jquery.js"></script>
<script src="someOtherNonAsyncScript.js"></script>
<script>
$.noop() // may or may not throw an error
</script>