An asynchronous receiver of custom actions: one funnel per view.
Resolving is success, and the resolved value, validated against the
action's declared result type, binds the result root inside
onSuccess; resolve null for actions declaring no result. Rejecting
is failure: with a MilanoActionFailure, its value is the failure
payload, validated against the declared failure type and bound to the
failure root inside onFailure; with anything else, the failure
carries no payload. Completion-exactly-once holds by construction.
An asynchronous receiver of custom actions: one funnel per view. Resolving is success, and the resolved value, validated against the action's declared
resulttype, binds theresultroot insideonSuccess; resolvenullfor actions declaring no result. Rejecting is failure: with aMilanoActionFailure, its value is the failure payload, validated against the declaredfailuretype and bound to thefailureroot insideonFailure; with anything else, the failure carries no payload. Completion-exactly-once holds by construction.