elementOnLoad function

Future<bool> elementOnLoad(
  1. HTMLImageElement img
)

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;
}