簡體   English   中英

如何使用C / C ++編寫的函數從dart進行異步調用?

[英]How to make an asynchronous call from dart the function written in C/C ++?

我仔細閱讀了https://www.dartlang.org/articles/server/native-extensions文章,並首先決定只測試sdk-master / samples / sample_extension文件夾中的標准示例。 同步調用有效,但是在執行$ dart test_sample_asynchronous_extension.dart命令時,發生“未處理的異常”錯誤:

~/Downloads/sdk-master/samples/sample_extension $ dart test_sample_asynchronous_extension.dart
Unhandled exception:
type 'Future<dynamic>' is not a subtype of type 'Future<List<int>>'
#0      RandomArray.randomArray (file:///home/michael_k/Downloads/sdk-master/samples/sample_extension/sample_asynchronous_extension.dart:32:5)
#1      main (file:///home/michael_k/Downloads/sdk-master/samples/sample_extension/test_sample_asynchronous_extension.dart:17:5)
#2      _startIsolate.<anonymous closure> (dart:isolate/runtime/libisolate_patch.dart:289:19)
#3      _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:171:12)
~/Downloads/sdk-master/samples/sample_extension $

誰知道如何解決這個問題?

我可以看到該示例的示例文件最近已更新。 嘗試使用此文件的最新版本: https : //github.com/dart-lang/sdk/blob/master/samples/sample_extension/sample_asynchronous_extension.dart

以下是最近的更改,它似乎可以解決您的問題:

之前:

    var completer = new Completer();

后:

    var completer = new Completer<List<int>>();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM