Ответ 1
В Dart SDK 1.10 теперь вы можете создать данные: URI из String и передать эти данные: URI для spawnUri.
Это означает, что вы можете динамически строить строку во время выполнения, кодировать ее и динамически загружать/запускать. Ухоженная!
Вот пример.
Ваш Дарт script:
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
должен быть строчным.