0

私はfirebaseで角を学んでいます。私は現在、firebaseでユーザーを作成しようとしていますが、そのユーザーを電子メールとユーザーIDとともにデータベースに追加しています。データベースにユーザーを追加してユーザーを承認する方法

私はfirebaseサービスを呼び出すコンポーネントを持っています。

//register.component.ts

import { FirebaseService } from '../../services/firebase.service'; 
import { Component, OnInit } from '@angular/core'; 


@Component({ 
    selector: 'app-register', 
    templateUrl: './register.component.html', 
    styleUrls: ['./register.component.css'] 
}) 
export class RegisterComponent implements OnInit { 

    username:string; 
    email:string; 
    password:string; 
    constructor(
    private firebaseService:FirebaseService 
) { 

    } 

    ngOnInit() { 
    } 

    OnSubmit() 
    { 
    this.firebaseService.register(this.username,this.email,this.password) 
    .then((res) =>{ 
     console.log("firebase has registered the user: "+ res); 
    }) 
    .catch((err)=>{ 
     console.log("There was an error registering: "+ err.message); 
    }); 

    } 
} 

、これは私がすべてのエラーを受信して​​いないとレジスタ機能は、ユーザーが作成しているサービス firebase.service.ts

import { Injectable } from '@angular/core'; 
import { AngularFireDatabase, AngularFireList } from "angularfire2/database"; 
import{ AngularFireAuth} from 'angularfire2/auth'; 
import {Observable} from 'rxjs/Observable'; 
import * as firebase from 'firebase/app'; 

@Injectable() 
export class FirebaseService { 
users: AngularFireList<any[]>; 

    constructor(
    public afAuth: AngularFireAuth, 
    public af: AngularFireDatabase 
) { 
    this.users = af.list('users/'); 
    } 

    register(username:string, email:string, password:string) 
    { 
    return new Promise ((resolve, reject) =>{ 
     this.afAuth.auth.createUserWithEmailAndPassword(email,password) 
     .then((userData) => {resolve(userData), 
     err => reject(err) }); 

    }); 
    } 
} 

です登録ユーザーとしてではなく、私は「ユーザー/」パスでデータベースにそのユーザーを追加する方法がわからない

私はのuserdataオブジェクトはすべてが含まれています返さ知っていますユーザー情報が、私はその部分をデータベースに追加するためのコードを書く部分を知りません。 firebaseが最近AngularFireListObservablesの代わりにAngularFireListに変更されたことが分かりました。それが答えを見つけるのを難しくしています。

ご協力いただきありがとうございます。これでしばらくの間作業していました。

答えて

1

私自身の質問に答えることができました。

私は、より詳細な約束を勉強して学び、約束が連鎖して機能することを学んだ。関数が呼び出される順に呼び出され、前の約束が完了したときにのみ呼び出されます。

firebaseService.tsファイルにあります。

register(username:string, email:string, password:string) 
    { 
    return new Promise ((resolve, reject) =>{ 
     this.afAuth.auth.createUserWithEmailAndPassword(email,password) 
     .then((userData) => {resolve(userData), 
     err => reject(err) 
     return userData}) //make sure to return the parameters you want to use in the next .then call. 
     .then((userData) => { 
     console.log("The userData is +: " + userData.uid) 
     }); 

    }); 
関連する問題