I believe async/await means you have a single consumer (caller) and a single producer (callee) and only a single value will be produced (resolved).
With CPS you may send and receive many times over to whomever and from whomever you like.
In JavaScript you may write..
const fetchData = async () => {
// snip
return data;
}
const data = await fetchData();
And in Go you might express the same like..
channel := make(chan int);
go func() {
// snip
channel <- data;
}()
data := <-channel
But you could also, for example, keep sending data and send it to as many consumers as you like..
go func() {
for { // Infinite loop:
// snip
channel1 <- data;
channel2 <- data;
channel3 <- data;
}
}()