elementOnLoad function
Returns a Future<bool> for when img loads.
Implementation
Future<bool> elementOnLoad(HTMLImageElement img) {
var completer = Completer<bool>();
void complete(bool loaded) {
if (!completer.isCompleted) completer.complete(loaded);
}
img.onLoad.listen((e) => complete(true), onError: (e) => complete(false));
// A failed load fires an `error` event (not an error in `onLoad`):
img.onError.listen((e) => complete(false));
return completer.future;
}