main() async {
print('Hello non-async world');
await getNewThing().then((hello) => print(hello));
}
Future<String> getNewThing() async {
return 'Hello World';
}
Это мой пример кода, index.dart
.Он находится в моей веб-папке.
Я запускаю webdev build
для компиляции в js.
Когда я запускаю dart web/index.dart
в своей веб-папке, я получаю ожидаемый вывод
Hello non-async world
Hello World
Когда я запускаю node build/index.dart.js
или index.js
, я получаю только
Hello non-async world
Запускает ли он асинхронный код как другой процесс?
Полный вывод слишком длинный для отправки,
F={
a6:function(){var u=0,t=P.bF(null)
var $async$a6=P.bI(function(a,b){if(a===1)return P.bB(b,t)
while(true)switch(u){case 0:P.bO("Hello non-async world")
u=2
return P.cf(F.bi().K(new F.b_(),-1),$async$a6)
case 2:return P.bC(null,t)}})
return P.bD($async$a6,t)},
bi:function(){var u=0,t=P.bF(P.n),s
var $async$bi=P.bI(function(a,b){if(a===1)return P.bB(b,t)
while(true)switch(u){case 0:s="Hello World"
u=1
break
case 1:return P.bC(s,t)}})
return P.bD($async$bi,t)},
b_:function b_(){}}
Это вывод, который я нашел относительно моего кода дротика.
Шаги для воспроизведения touch testcompile.dart
, добавить код, dart2js -O2 -o index.js testcompile.dart
, наконец node index.js