What happens when you await on a oneway function in JS?

I’m curious why Candid specifically has this notion of a “oneway” function.

Is it to prevent callers from being allowed to even await on such a function?

If so, why is that feature implemented only in Motoko but not in JS? Unless I’m misunderstanding something…

The oneway attribute was added to Candid when there still were plans to have such a mechanism on the system level. But that was deferred and honestly I don’t know if these plans still exist. So in its current incarnation, it is mainly a declaration of intent (like, this method has no meaningful result and nor does its completion indicate that any specific state has been reached).

1 Like