What's wrong with the usual oneshot channels? Are you in a situation where you don't know whether the receiver is async or not when creating the channel?
If you know whether the receiver is async or not, you can simply pick the appropriate channel type at creation. The sender half of either type of oneshot should work in both synchronous and asynchronous code.