Google Dart で Firebase Simple Login を使用する方法を理解した人はいますか? FirebaseSimpleLogin を呼び出すときに function(error, user){} を定義する方法を見つけようとしています。error と user() はどちらもオブジェクトです。
これは、Firebase のサンプル JavaScript コードです。
var myDataRef = new js.Proxy(js.context.Firebase, 'https://johnstest1.firebaseIO.com/');
var myDataRef = new Firebase('https://johnstest1.firebaseIO.com/');
var auth = new FirebaseSimpleLogin(myDataRef, function(error, user) {
if (error) {
// an error occurred while attempting login
console.log(error);
} else if (user) {
// user authenticated with Firebase
console.log('User ID: ' + user.id + ', Provider: ' + user.provider);
} else {
// user is logged out
}
});
これは、Dart と Firebase の両方で使用するために html ファイルに追加されたコードです。
<script type='text/javascript' src='https://cdn.firebase.com/v0/firebase.js'></script>
<script type='text/javascript' src='https://cdn.firebase.com/v0/firebase-simple-login.js'></script>
<script type="application/dart" src="firebasetestlogin.dart"></script>
<script src="packages/browser/dart.js"></script>
<script src="packages/browser/interop.js"></script>
.dart ファイルでは、pubspec.yaml を使用して JavaScript ライブラリがインポートされています。
import 'package:js/js.dart' as js;
main() では、このコード行は正常に機能し、データベースにデータを書き込むことができます。コメントアウトされている行は元の JavaScript 行ですが、次の行は Dart バージョンであり、機能します。
js.scoped((){
// var myDataRef = new Firebase('https://johnstest1.firebaseio.com');
var myDataRef = new js.Proxy(js.context.Firebase, 'https://johnstest1.firebaseIO.com/');
});
これは、メインからの同じコードで、Firebase Simple Login Added の行が追加されています。関数(エラー、ユーザー)のコードの書き方を理解しようとしています。
js.scoped((){
// var myDataRef = new Firebase('https://johnstest1.firebaseio.com');
var myDataRef = new js.Proxy(js.context.Firebase, 'https://johnstest1.firebaseIO.com/');
//var auth = new FirebaseSimpleLogin(js.context.Firebase(myDataRef, function(error, user){}{}));
var auth = new js.Proxy(js.context.FirebaseSimpleLogin(myDataRef, js.context.function(error, user)));
});