Как преобразовать объект обратного вызова JS в Dart - PullRequest
1 голос
/ 19 мая 2019

Я интегрирую Dart с Keycloak. Я включил keycloak.js (https://github.com/keycloak/keycloak-js-bower/blob/master/dist/keycloak.js) в index.html.

Дартс класс:

@JS()
library  keycloak11;

import 'package:js/js.dart';

@JS('Keycloak')
class Keycloak1 {
  external  init(InitOptions opts);
  external Keycloak1();
}



@JS()
@anonymous
class InitOptions {
  external String get onLoad;
  external set onLoad(String v);

  external factory InitOptions({
    String onLoad
  });
}



    in  onActivate()  of  the  page -

     var kcl = new Keycloak1();
     var promise =  kcl.init(new InitOptions(onLoad :  'login-required'));

Это нормально переводит меня на страницу входа. Как я могу зарегистрировать коллбэки об ошибках и об ошибках?

В JavaScript это работает -

 keycloak.init({onLoad: 'login-required'}).success(function (authenticated) {
            if (!authenticated) {
                alert('not authenticated');
            } else {
                alert('success');
            }

        }).error(function () {
            alert('failed to initialize');
        });
...