我将JavaScript背景图像加载器转换为Dart,有点像:Javascript图像加载器
我使用Timer来检查图像是否全部加载.这很好用.
但是在Dart中有可连接的Futures,我想知道你是否可以链接ImageElements的后台加载......
ImageElement a = new ImageElement();
ImageElement b = new ImageElement();
ImageElement c = new ImageElement();
Future.wait([a.src='a.jpg', b.src='b.jpg', c.src='ca.jpg'])
.then((List responses) => chooseBestResponse(responses))
.catchError((e) => handleError(e));
Run Code Online (Sandbox Code Playgroud)
当然分配src和实际的图像加载是异步的,所以这不起作用......
加载后,我还需要为每个图像执行一些代码.
也许我需要编写自己的FutureImageElement类,但我想我先问...
有任何想法吗 ?
Kai*_*ren 24
当然,你可以使用期货.只需使用first流的属性:
var a = new ImageElement(src: 'a.png');
var b = new ImageElement(src: 'b.png');
var c = new ImageElement(src: 'c.png');
var futures = [a.onLoad.first, b.onLoad.first, c.onLoad.first];
Future.wait(futures).then((_) => print('done'));
Run Code Online (Sandbox Code Playgroud)
加载所有三个图像时将打印文本"完成".
| 归档时间: |
|
| 查看次数: |
1623 次 |
| 最近记录: |