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'
- Firebase的JavaScript承诺在NodeJS
- 带有Gmail“发件人:地址”的Nodemailer不会更改
- 在Firebase云端函数中使用toLocaleString格式化货币值
- Firebase在一个队列上排队多个规格都会被执行,或者被错误的执行
- 如何使用私有NPM包与云function?
- 在部署Firebase项目时,错误显示“找不到模块firebase-functions”
- Firebase身份validation失败节点JS:NotAuthorizedError
- Firebase 3 node.js服务器authentication是否会改变?
- 从Firebase迁移到自己的服务器和后端