sendCmd method
Send a structured command to the Web Worker.
Convenience method for sending commands with optional data payload and transferable objects. Handles JS interop automatically.
Parameters:
command: Command string for the worker to processdata: Optional data payloadtransfer: Optional transferable objects (ArrayBuffers, etc.)
Usage:
import 'package:cross_channel/web_extension.dart';
import 'package:web/web.dart';
Future<void> main() async {
// In Main Thread
final result = await worker.request<String>('status');
print('Worker status: $result');
}
Implementation
void sendCmd(
String command, {
Map<String, Object?>? data,
JSObject? transfer,
}) {
final payload = <String, Object?>{...?data, 'command': command};
if (transfer != null) {
postMessage(payload.jsify(), transfer);
} else {
postMessage(payload.jsify());
}
}