gpt4 book ai didi

dart - 如何为 spawnUri 动态构建 Dart 脚本?

转载 作者:行者123 更新时间:2023-12-04 01:54:03 25 4
gpt4 key购买 nike

我想动态构建和加载一个 Dart 脚本。我该怎么做呢?

我知道我可以使用 Isolate.spawnUri 来动态加载 Dart 脚本。但是,我只知道我可以从 file: 和 http: URI 加载。这意味着我需要将我的脚本放在要加载的地方,这是我想避免的复杂情况。

最佳答案

在 Dart SDK 1.10 中,您现在可以从字符串创建 data: URI,并将该 data: URI 传递给 spawnUri。

这意味着您可以在运行时动态构造一个字符串,对其进行编码,并动态加载/运行它。整洁的!

这是一个例子。

你的 Dart 脚本:

import 'dart:isolate';

main() {
var loadMe = '''

main() {
print('from isolate');
}

''';

var uri = Uri.parse('data:application/dart;charset=utf-8,${Uri.encodeComponent(loadMe)}');
print('loading $uri');

Isolate.spawnUri(uri, null, null);
}

请注意数据:URI 必须采用以下格式:
data:application/dart;charset=utf-8,DATA

哪里 DATA是 URI 百分比编码。

另外, utf-8一定是小写的。

关于dart - 如何为 spawnUri 动态构建 Dart 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30465381/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com