توجه داشته باشید که تنها در توابعی که با `async def` ساخته شدهاند میتوانید از `await` استفاده کنید.
/// note
توجه داشته باشید که تنها در توابعی که با `async def` ساخته شدهاند میتوانید از `await` استفاده کنید.
///
---
@ -50,7 +50,7 @@ def results():
به هر حال، در هر یک از موارد بالا، FastAPI همچنان بهصورت asynchronous کار کرده و عملکرد بسیار سریعی دارد؛ اما با پیروی از دستورالعملهای فوق، بهینهسازیهای عملکردی بیشتری نیز حاصل میشود.
## جزئیات فنی
## جزئیات فنی
نسخههای مدرن پایتون از asynchronous code با استفاده از مفهومی به نام **coroutines** و سینتکس **`async` و `await`** پشتیبانی میکنند.
@ -129,8 +129,8 @@ Cashier شماره نوبت شما را به شما میدهد.
شما و crush burgers را میخورید و از لحظات خوش لذت میبرید. ✨
/// info
تصاویر زیبا با افتخار توسط <ahref="https://www.instagram.com/ketrinadrawsalot"class="external-link"target="_blank">Ketrina Thompson</a> ارائه شده است. 🎨
/// info
تصاویر زیبا با افتخار توسط <ahref="https://www.instagram.com/ketrinadrawsalot"class="external-link"target="_blank">Ketrina Thompson</a> ارائه شده است. 🎨
///
---
@ -193,8 +193,8 @@ Cashier به آشپزخانه میرود.
در این حالت، صحبت یا flirting چندانی وجود ندارد چرا که بیشتر زمان صرف انتظار جلوی پیشخوان شده است. 😞
/// info
تصاویر زیبا با افتخار توسط <ahref="https://www.instagram.com/ketrinadrawsalot"class="external-link"target="_blank">Ketrina Thompson</a> ارائه شده است. 🎨
/// info
تصاویر زیبا با افتخار توسط <ahref="https://www.instagram.com/ketrinadrawsalot"class="external-link"target="_blank">Ketrina Thompson</a> ارائه شده است. 🎨
///
---
@ -333,7 +333,7 @@ async def read_burgers():
return burgers
```
### جزئیات فنی بیشتر
### جزئیات فنی بیشتر
شاید متوجه شده باشید که `await` تنها در داخل توابع تعریفشده با `async def` قابل استفاده است.
من همچنین یک کتابخانهی دیگر به عنوان یک لایهی نازک بر روی AnyIO ایجاد کردهام تا type annotations را بهبود بخشم و **autocompletion** و **inline errors** بهتری ارائه دهم. این کتابخانه همچنین دارای معرفی و آموزش دوستانهای برای کمک به شما در درک و نوشتن کد asynchronous خودتان است: <ahref="https://asyncer.tiangolo.com/"class="external-link"target="_blank">Asyncer</a>. این کتابخانه بهویژه برای زمانی مفید است که نیاز به ترکیب کد asynchronous با کد عادی (blocking/synchronous) داشته باشید.
### اشکال دیگر کد asynchronous
### اشکال دیگر کد asynchronous
این سبک استفاده از `async` و `await` نسبتاً جدید در Python است.
همین است که FastAPI (از طریق Starlette) را به آنچه که عملکرد بسیار چشمگیری دارد، مجهز میکند.
## جزئیات بسیار فنی
## جزئیات بسیار فنی
/// warning
شاید بتوانید این بخش را رد بزنید.
/// warning
شاید بتوانید این بخش را رد بزنید.
اینها جزئیات بسیار فنی دربارهی نحوهی عملکرد درونی FastAPI هستند.
اگر دانش فنی کافی (مانند coroutines، threads، blocking و غیره) دارید و کنجکاو هستید که بدانید FastAPI چگونه با `async def` در مقابل `def` رفتار میکند، ادامه دهید.
اگر دانش فنی کافی (مانند coroutines، threads، blocking و غیره) دارید و کنجکاو هستید که بدانید FastAPI چگونه با `async def` در مقابل `def` رفتار میکند، ادامه دهید.