不能使用initPolymer().在DART 1.9.3,Polymer 0.16.1 + 2中运行

Yur*_* P. 3 dart polymer dart-polymer

我正在尝试升级到DART 1.9.3,Polymer 0.16.1

之前有效的代码:

initPolymer().run((){
   ... some code
}
Run Code Online (Sandbox Code Playgroud)

现在报道

"方法run()未定义为Future <Zone>"

这是一个已知的变化/缺陷吗?什么是解决方法?

请指教.

Com*_*uid 5

Polymer.dart 发行说明0.16.0有:

突破性变化

initPolymer()方法现在返回Future而不是Zone.在所有@HtmlImport导入完成加载之前,这不会完成.有关更多信息和一些示例迁移路径,请参阅更改日志.

这表明你应该把你的... some code内部函数调用realMain()并调用它:

main() => initPolymer().then((zone) => zone.run(realMain));
realMain() => ...
Run Code Online (Sandbox Code Playgroud)

要么:

main() => initPolymer();

@initMethod
realMain() => ...
Run Code Online (Sandbox Code Playgroud)