4 ms·
> If you don't want to deal with async functions, then you can use threads! Truly? If some very popular lib become async (like actix, request, that I use), I c
by mamcx 7y ago
> If you don't want to deal with async functions, then you can use threads!
Truly? If some very popular lib become async (like actix, request, that I use), I can TRULY ignore it and not split my world in async/sync?
- pcwalton 7y agoYou can easily convert async to sync by just blocking on the result. The other way (sync to async) is more difficult and requires proxying out to a thread pool, but it's also doable.
- BatmanAoD 7y agoAn `async` function _can_ call blocking functions, of course, it just blocks the entire thread of execution which could otherwise continue making progress by polling another future.
- nemothekid 7y agoBoth actix and reqwest are already async, the fact that you haven't noticed yet just shows that you are already ignoring it.
- mamcx 7y agoBut the signatures are not. If them mark the types/functions async, what happened? I must rewrite all the calls?
- pas 7y agoAsync is just a syntactic sugar for Future<...>, you can poll() it manually. You can take the event loop, run it on one thread and do whatever you wish on other threads. Fearless concurrency, after all.
- bluejekyll 7y agoyou can just `.await` on any Future returned directly by APIs, if it's not marked as an async fn.
- deleted 7y ago[deleted]