If you pass a Dart function to a JavaScript API as an argument, wrap the Dart function using allowInterop() or allowInteropCaptureThis() . To make a Dart function callable from JavaScript by name, use a setter annotated with @JS() . @JS() library callable_function; import ‘package:js/js.