A function that takes a throwing closure as a parameter can use a non-throwing closure as an argument, since non-throwing functions are subtypes of throwing functions. Does the same apply for
async vs. non-
async? Can I stick a synchronous function as an argument for code expecting an
async closure parameter?
Actually, in general, how can an
async function call a regular one? And vice versa?