تابع async همیشه یک promise برمی‌گرداند. await فقط همان تابع را متوقف می‌کند تا promise تمام شود؛ thread برای event loop آزاد می‌ماند.