Firebase set()承诺暂停待审

时间:2017-05-12 11:20:06

标签: javascript node.js firebase firebase-realtime-database firebase-authentication

我尝试对Firebase数据库进行简单的写操作,如下所示:



return app.register( email, password ).then( f => {
  return app.login( email, password )
} ).then( f => {
  return app.currentUser()
} ).then( user => {
  return app.firebase.db().ref( `users/${user.uid}` ).set( {color: 'red'} )
} ).then( f => {
  console.log( "This never triggers" )
} )




app.register的位置:

( firebase, email, password ) => firebase.auth().createUserWithEmailAndPassword( email, password )

app.login的位置:

( firebase, email, password ) => firebase.auth().signInWithEmailAndPassword( email, password )

app.currentUser是:

firebase => {
    return new Promise( ( resolve, reject ) => {
        firebase.auth( ).onAuthStateChanged( user => {
            user ? resolve( user ) : reject( user )
        } )
    } )
}

app.firebase是初始化的Firebase参考。

我没有收到错误,但set()从未解决。

我非常困难,感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

问题解决了。

使用部分导入时:

import firebase from 'firebase/app'
import auth from 'firebase/auth'
import db form 'firebase/database'

当没有在浏览器中运行时,Firebase会默默地失败一些元素(我使用的是Mocha)。

解决方案(很糟糕)是导入完整的包:

import firebase from 'firebase'