Dart 带“";https";

Dart 带“";https";,dart,dart-isolates,Dart,Dart Isolates,我正在尝试从HTTPS服务器中托管的文件动态加载代码 是否有人成功地将spawnUri()与https://uri一起使用? 我已经测试过,它可以与http://uri一起正常工作 但是使用https://我不断得到: Not a known scheme: https://example.com/MyIsolate.dart #0 _filePathFromUri (dart:_builtin:289) #1 _loadDataAsync (dart:_builtin:35

我正在尝试从HTTPS服务器中托管的文件动态加载代码

是否有人成功地将spawnUri()与
https://
uri一起使用? 我已经测试过,它可以与
http://
uri一起正常工作

但是使用https://我不断得到:

Not a known scheme: https://example.com/MyIsolate.dart
#0      _filePathFromUri (dart:_builtin:289)
#1      _loadDataAsync (dart:_builtin:359)'
Stack Trace:
#0      Isolate.spawnUri (dart:isolate-patch/isolate_patch.dart:256)
...
...
我想知道我是否遗漏了什么

例如,您可以简单地尝试以下代码:

导入'dart:async';
导入“dart:隔离”;
接收端口接收端口;
main(){
receivePort=新的receivePort();
隔离.spawnUri(Uri.parse(“https://example.com/MyIsolate.dart),null,receivePort.sendPort);
}
我的Dart虚拟机版本是macos_x64上的1.6.0

编辑:
在将uri字符串作为参数传递给spawnUri之前,使用uri.parse()分析该uri字符串。(正如@user568109所指出的)

它接受一个Uri对象,因此在传递之前解析它:

Isolate.spawnUri(Uri.parse("https://example.com/MyIsolate.dart"), null, sendPort);

我相信scheme是默认设置为
http
。所以对于其他协议,你必须明确地给出它。最好总是将其转换为
Uri
Uri
位于
core
库中。

我假设它是由几天前修复的错误引起的

您对解析的看法是正确的,我在创建此示例时忘记了它。。。但我确实分析并测试了它。但我还是得到了同样的例外。这让我想知道这是不是一只虫子?我会给你一个+1来查找代码中的错误,但不能接受答案,因为它不能解决问题:)