我仔细阅读了文章 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 $
有人知道如何解决问题吗?
答案 0 :(得分:0)
我可以看到该示例的示例文件最近已更新。尝试使用此文件的最新版本: 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>>();