Telegram Group & Telegram Channel
یکی از مواقعی که بهتر است از async void استفاده کنیم.

تفاوت Async Void و Async Task در هنگام تعریف یک متد چیست و چه موقع میتوان از هرکدام استفاده کرد. اگر این متد ها داخل try-catch صدا زده شوند عملکرد هر کدام هنگام رخ دادن exception چگونه است؟

پاسخ:

توابع async Task به خودی خود خطا های درون آنها هندل میشوند اما async void یک تسک کاملا مستقل است که در صورت خطا خوردن باعث کرش کردن نرم افزار می شود.
مواقعی که میخواهید یک background job درست کنید از async void استفاده کنید و حتما توابع داخل انرا درون try catch بگذارید.
زمانی که شما async Task استفاده می کنید یعنی به برنامه نویس استفاده کننده در توابع async می فهمانید که باید آنرا await کند برنامه نویس نمی داند این یک تسک background است و ممکن است فراموش کند که نباید آنرا await کند و در صورت await کردن ممکن است تا ابد آن تابع منتظر پاسخ بماند تا پایان یابد در حالی که درون آن یک while true قرار دارد و هیچوقت پایان نمی یابد.
بنابراین در این شرایط بهتر است از async void استفاده شود تا برنامه نویس استفاده کننده دچار اشتباه نشود و آنرا await نکند.
در این صورت برنامه نویس نمی تواند آنرا await کند و نرم افزار بلافاصله آنکار را در بکگراند اجرا می کند.

@CSharpTips



tg-me.com/CsharpTips/318
Create:
Last Update:

یکی از مواقعی که بهتر است از async void استفاده کنیم.

تفاوت Async Void و Async Task در هنگام تعریف یک متد چیست و چه موقع میتوان از هرکدام استفاده کرد. اگر این متد ها داخل try-catch صدا زده شوند عملکرد هر کدام هنگام رخ دادن exception چگونه است؟

پاسخ:

توابع async Task به خودی خود خطا های درون آنها هندل میشوند اما async void یک تسک کاملا مستقل است که در صورت خطا خوردن باعث کرش کردن نرم افزار می شود.
مواقعی که میخواهید یک background job درست کنید از async void استفاده کنید و حتما توابع داخل انرا درون try catch بگذارید.
زمانی که شما async Task استفاده می کنید یعنی به برنامه نویس استفاده کننده در توابع async می فهمانید که باید آنرا await کند برنامه نویس نمی داند این یک تسک background است و ممکن است فراموش کند که نباید آنرا await کند و در صورت await کردن ممکن است تا ابد آن تابع منتظر پاسخ بماند تا پایان یابد در حالی که درون آن یک while true قرار دارد و هیچوقت پایان نمی یابد.
بنابراین در این شرایط بهتر است از async void استفاده شود تا برنامه نویس استفاده کننده دچار اشتباه نشود و آنرا await نکند.
در این صورت برنامه نویس نمی تواند آنرا await کند و نرم افزار بلافاصله آنکار را در بکگراند اجرا می کند.

@CSharpTips

BY C# Programming Guide


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/CsharpTips/318

View MORE
Open in Telegram


telegram Telegram | DID YOU KNOW?

Date: |

Telegram is riding high, adding tens of million of users this year. Now the bill is coming due.Telegram is one of the few significant social-media challengers to Facebook Inc., FB -1.90% on a trajectory toward one billion users active each month by the end of 2022, up from roughly 550 million today.

How to Buy Bitcoin?

Most people buy Bitcoin via exchanges, such as Coinbase. Exchanges allow you to buy, sell and hold cryptocurrency, and setting up an account is similar to opening a brokerage account—you’ll need to verify your identity and provide some kind of funding source, such as a bank account or debit card. Major exchanges include Coinbase, Kraken, and Gemini. You can also buy Bitcoin at a broker like Robinhood. Regardless of where you buy your Bitcoin, you’ll need a digital wallet in which to store it. This might be what’s called a hot wallet or a cold wallet. A hot wallet (also called an online wallet) is stored by an exchange or a provider in the cloud. Providers of online wallets include Exodus, Electrum and Mycelium. A cold wallet (or mobile wallet) is an offline device used to store Bitcoin and is not connected to the Internet. Some mobile wallet options include Trezor and Ledger.

telegram from pl


Telegram C# Programming Guide
FROM USA