Skip to content

Instantly share code, notes, and snippets.

@parthdave93
Created July 1, 2020 18:25
Show Gist options
  • Save parthdave93/980a628fec55739087de3609d311e660 to your computer and use it in GitHub Desktop.
Save parthdave93/980a628fec55739087de3609d311e660 to your computer and use it in GitHub Desktop.
Dart to JS and JS to Dart
import 'javascript_util.dart';
void callJavascriptFunction(){
//callJavascriptFunctions("javascriptMethodName", ["arguments"]); example
callJavascriptFunctions("functionName", ["argument1","argument2","argument3"]);
}
void callJavascriptFunctionAndFetchData(){
//fetchJavaScriptData("javascriptMethodName", callbackFunction(){},["arguments"]); example
fetchJavaScriptData("functionName", (resultFromJavascript){
//passItBack to the required provider or UI
},["argument1","argument2","argument3"]);
}
<!DOCTYPE html>
<html>
<head>
.....
<link rel="manifest" href="manifest.json">
<script src="project.js" defer></script>
</head>
<body>
.....
</body>
</html>
import 'dart:js' as js;
dynamic callJavascriptFunctions({String methodName, List<dynamic> arguments}){
return js.context.callMethod(
methodName,
arguments,
);
}
void fetchJavaScriptData({String methodName, Function callback, List<dynamic> arguments}){
js.context["callbackFunction"] = js.allowInterop(callback);
js.context.callMethod(
methodName,
arguments,
);
}
function functionName(...arguments){
// ... fetch some data or your process
callbackFunction(return_data_object);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment