Сделать можете, но вне анонимной функции код будет синхронный. Если речь идет об оборачивании всего скрипта и у вас 1 файл с 200-300 строками, то вполне нормально, как по мне. Если вы хотите обернуть angular приложение, то чутье мне подсказывает, что вы запутаетесь и / или возникнут какие-нибудь проблемы с импортами (не проверял). Более того, вам нужно ловить reject внутри такой анонимной функции через try-catch на верхнем уровне.
Но, как по мне, async нужно использовать только там, где он действительно упрощает работу, для многих вещей вполне подойдут promise, а где-то и колбеки.