async / await
ikod
igor.khasilev at gmail.com
Fri Oct 8 10:19:40 UTC 2021
On Friday, 8 October 2021 at 06:38:17 UTC, bauss wrote:
> On Thursday, 7 October 2021 at 23:20:15 UTC, Imperatorn wrote:
>> On Thursday, 7 October 2021 at 22:35:23 UTC, russhy wrote:
>>> I don't think trying to replicate C# async/await is a good
>>> idea, it promotes creating bad APIs (GetThisAsync |
>>> GetThisAsync.ButSyncThisTimeToGetResult)
>
> Ex.
>
> DownloadFile() would be synchronous, whereas
> DownloadFileAsync() would then be async.
This is not always useful to have different names for interfaces,
especially when application developer decide for some
performance/scalability/etc reason to port sync code to async
environment.
DownloadFile can be implemented such that it detects if it work
in sync or async environment like (in pseudocode):
void DownloadFile() {
if (activeEventLoopDetected) {
wait asyncCode
} else {
call syncCode
}
}
>
> That avoids the whole problem of calling an async method
> synchronous, because in general you shouldn't ever do that
> anyway!
More information about the Digitalmars-d
mailing list