Firebase set()承诺停留在挂起状态

我正在尝试简单地写入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()永远不会解决。

我很困难,任何帮助表示赞赏。

问题解决了。

当使用部分导入时,如:

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

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

解决scheme(这很吸引)是导入完整的包:

 import firebase from 'firebase'