update JS interop to accept requestId for VoidCallback
This commit is contained in:
@@ -270,19 +270,14 @@ void Function(int) _voidCallback = (int requestId) {
|
|||||||
|
|
||||||
final _voidCallbackPtr = _voidCallback.addFunction();
|
final _voidCallbackPtr = _voidCallback.addFunction();
|
||||||
|
|
||||||
Future<void> withVoidCallback(
|
|
||||||
Function(Pointer<NativeFunction<Void Function()>>) func) async {
|
Future<void> withVoidCallback(
|
||||||
|
Function(int, Pointer<NativeFunction<Void Function(int)>>) func) async {
|
||||||
final completer = Completer();
|
final completer = Completer();
|
||||||
final requestId = _completers.length;
|
final requestId = _completers.length;
|
||||||
_completers[requestId] = completer;
|
_completers[requestId] = completer;
|
||||||
|
|
||||||
final fn = () {
|
func.call(requestId, _voidCallbackPtr.cast());
|
||||||
completer.complete();
|
|
||||||
};
|
|
||||||
|
|
||||||
final ptr = fn.addFunction();
|
|
||||||
|
|
||||||
func.call(ptr.cast());
|
|
||||||
while (!completer.isCompleted) {
|
while (!completer.isCompleted) {
|
||||||
_NativeLibrary.instance._execute_queue();
|
_NativeLibrary.instance._execute_queue();
|
||||||
await Future.delayed(Duration(milliseconds: 1));
|
await Future.delayed(Duration(milliseconds: 1));
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user