Javascript Angular 8/Firebase:使用电子邮件和密码创建用户时,如何设置displayName?

Javascript Angular 8/Firebase:使用电子邮件和密码创建用户时,如何设置displayName?,javascript,angular,firebase,firebase-authentication,Javascript,Angular,Firebase,Firebase Authentication,在读了这么多的帖子和空洞的(或不是?)解决方案后,我想最好的办法是自己发帖子。因此,我的目标只是获取用户的显示名,以便在帖子列表或其他任何内容中,作者身份不会因为uid而显得难看。。。 以下是我发现与问题相关的内容: 注册反应表单,稍后在onInit上调用: createForm() { this.registerForm = this.fb.group( { name: ['', Validators.required], email: ["

在读了这么多的帖子和空洞的(或不是?)解决方案后,我想最好的办法是自己发帖子。因此,我的目标只是获取用户的显示名,以便在帖子列表或其他任何内容中,作者身份不会因为uid而显得难看。。。 以下是我发现与问题相关的内容:

注册反应表单,稍后在onInit上调用:

createForm() {
    this.registerForm = this.fb.group(
      {
        name: ['', Validators.required],
        email: ["", [Validators.required]],
        password: [null, [Validators.required, Validators.minLength(5)]],
        retype: ["", Validators.required]
      },
      {
        validator: PasswordValidators.passwordsShouldMatch
      }
    );
  }
提交方法:

 onSubmit() {
    if (this.registerForm.invalid) return;
    this.registered = true
    this.authService.registerUser(this.email.value, this.password.value).then(data=>{
      console.log(data)
    })

  }
调用uid和register方法的authService:

 constructor( private afAuth: AngularFireAuth, private router: Router) {
    this.afAuth.authState.subscribe(user=>{
      this.userId = user.uid;
     })
   }


registerUser(email:string, password:string) {
      return this.afAuth.auth.createUserWithEmailAndPassword(email, password)
        .then((result) => {
          this.router.navigate(['/login']);
          console.log(result.user)
        }).catch((error) => {
          window.alert(error.message)
        })
    }
记录此行时
this.afAuth.authState.subscribe(用户=>{

this.userId=user.uid;
,实际上记录了用户,我可以看到整个对象和显示名,但是由于register方法只接受两个参数,email和pass,我如何解决这个问题?我尝试过处理updateprofile,但遇到了一个错误…有什么解决方案吗?如果您想设置disp设置用户帐户的名称,则在使用createUserWithEmailAndPassword创建帐户时无法执行此操作。您必须对返回的用户对象执行后续调用

result.user.updateProfile({
    displayName: ...
})
.then(...)
.catch(...)

显然,您必须在调用
registerUser()

谢谢@Doug时传递名称,但是您显示的代码..它在什么函数中?registerUser?在您登录用户的createUserWithEmailAndPassword的promise回调中。