5

私は独自のJavaScriptクライアントライブラリを作成しようと考えています.Firebaseが要求するフォーマットが好きです。私は何が起こっているのか理解しようとしています。私はrefFirebaseと呼ばれる関数に等しく、usersRefref.childに等しいことがわかりますMimic Firebaseクライアントライブラリの構造とパターン

var ref = new Firebase("https://docs-examples.firebaseio.com/web/saving-data/fireblog"); 

var usersRef = ref.child("users"); 

usersRef.set({ 

    alanisawesome: { 
     date_of_birth: "June 23, 1912", 
     full_name: "Alan Turing" 
    }, 

    gracehop: { 
     date_of_birth: "December 9, 1906", 
     full_name: "Grace Hopper" 
    } 

}); 

:ウェブガイドhereを見てから私は以下のコードを発見しました。

私はこのようなものを想像しています:ここで

Firebase = function(url) { 
    this.child = function(path) { 

    console.log(url); 
    console.log(path); 

}; 
}; 

を私はusersRef.setが呼び出されていることがわかりますが、私は、これは行くだろう方法や場所を見つけ出すことはできませんか? setは関数かオブジェクトですか?私は火災基地がset()update()push()およびtransaction()であることに気づき、これらが機能だと思うようにしています。

"TypeError: Cannot read property 'set' of undefined 

多分私は間違った経路にいるかもしれませんが、私はこのパターンに慣れていません。

+1

、それが見え、はるかに優れて読み込みます。 – Bill

+0

'child()'は 'set' /' update'/...メソッドでオブジェクトを返すだけで、 'new Firebase'は' child'メソッドを持つオブジェクトを返します。 – Bergi

+0

@Bergiあなたの返事をありがとう、私はちょうどあなたの提案の周りに私の頭を得ることはできません、あなたはこれまでの私の最高の推測を拡大してさらに助けることができる? – Bill

答えて

1

Firebase APIをチェックすると、child()は、新しいFirebaseリファレンスを子の場所に返します。したがって、このような何か:

var Firebase = function(url) { 

    console.log(url); 

    this.child = function(path) { 
     return new Firebase(url+'/'+path); 
    }; 

    this.set = function(object) { 
     console.log(object); 
    }; 

}; 

は、私はあなたがjsbin更新した:@Drenmiはその編集をありがとうございましたhttps://jsbin.com/nucume/2/edit?js,console

関連する問題