handler属性
设置用于处理每个传入消息的处理程序。
处理程序将在Zone.root区域中调用。如果处理程序应在当前区域中调用,则执行
rawPort.handler = Zone.current.bindCallback(actualHandler);
处理程序必须是一个可以接受发送到该端口的消息类型的单个参数的函数。这意味着如果知道所有消息都将为String类型,则可以使用类型为void Function(String)
的处理程序。该函数将动态地使用实际的消息来调用,如果调用失败,则错误成为Zone.root区域的顶层未捕获错误。
实现
// TODO(44659): Change parameter type to `void Function(Never)` to only
// accept functions which can be called with one argument.
void set handler(Function? newHandler);