sendMessage static method

Completer sendMessage(
  1. Message message,
  2. NativeBridgeImpl nativeBridgeImpl
)

发送消息

Implementation

static Completer sendMessage(Message message, NativeBridgeImpl nativeBridgeImpl) {
  Completer completer = Completer();
  var callbackId = _pushCallback(message.api, completer);
  message.callbackId = callbackId;
  // H5接受消息
  final res = messageToJson(message);
  nativeBridgeImpl.runJavaScript("receiveMessage($res)");
  // 增加回调异常容错机制,避免消息丢失导致一直阻塞
  Future.delayed(const Duration(milliseconds: 500), () {
    var completer = _popCallback(callbackId);
    completer?.complete(Future.value(null));
  });
  return completer;
}