callback dart dart-js-interop

callback - Llamada de cierre con argumentos no coincidentes: función ''llamar''



dart dart-js-interop (1)

Al mirar la sección Uso de imagesLoaded , parece que la devolución de llamada toma un parámetro. Entonces debes agregar este parámetro a tu devolución de llamada:

js.FunctionProxy loaded = new js.FunctionProxy((instance) { print("called"); js.Proxy pckry = new js.Proxy(context.Packery, container, options); }); js.Proxy img = new js.Proxy(context.imagesLoaded, container, loaded);

Notas adicionales :

  • Puede evitar new js.FunctionProxy . Solo hay un número limitado de casos donde es necesario y su caso aquí no es uno de ellos.
  • imagesLoaded se puede usar como una función y simplifica el código.

Por lo tanto, deberías poder usar:

final img = context.imagesLoaded(container, (instance) { print("called"); js.Proxy pckry = new js.Proxy(context.Packery, container, options); });

Estoy usando la biblioteca (2.0) js-interop en combinación con la biblioteca JS ImageLoaded y estoy atrapado en la clase FunctionProxy porque el siguiente código arroja el siguiente error:

Breaking on exception: llamada de cierre con argumentos no coincidentes: función ''llamar''

js.FunctionProxy loaded = new js.FunctionProxy((){ print("called"); js.Proxy pckry = new js.Proxy(context.Packery, container, options); }); js.Proxy img = new js.Proxy(context.imagesLoaded, container, loaded);

Lo cual es extraño porque mi llamada de js se llama 5 veces antes de que la aplicación falle.