我正在尝试使用MST操作在Firebase中创建新用户。
我的代码如下:
.actions((self => ({
createUserWithEmailPassword:
flow(function*(password: string) {
console.log('creating user');
yield firebase.auth().setPersistence(firebase.auth.Auth.Persistence.LOCAL);
console.log('set Persistence');
const user = yield firebase.auth().createUserWithEmailAndPassword(self.email, password);
console.log('CREATED USER', user);
self.uid = user.uid;
})
}));
它确实创建了一个用户,但不会进行createUserWithEmailAndPassword
调用。 (即它将永远不会控制台“ CREATED USER`”)。
我在用户上也有onPatch控制台,但它也不会显示用户更新。
我厌倦了操纵虚假的api调用
let res = yield fetch("https://randomapi.com/api/6de6abfedb24f889e0b5f675edc50deb?fmt=raw&sole")
这很好用。
createUserWithEmailAndPassword
好像有问题,但我无法弄清楚。
答案 0 :(得分:1)
您的代码应该可以使用,但是您也可以尝试
createUserWithEmailPassword(password: string) {
flow(function*() {
console.log('creating user');
yield firebase.auth().setPersistence(firebase.auth.Auth.Persistence.LOCAL);
console.log('set Persistence');
const user = yield firebase.auth().createUserWithEmailAndPassword(self.email, password);
console.log('CREATED USER', user);
self.uid = user.uid;
})() // <--- check this
}
Flow将返回您需要调用的函数
或者像这样
createUserWithEmailPassword(password: string) {
const run = flow(function*() {
console.log('creating user');
yield firebase.auth().setPersistence(firebase.auth.Auth.Persistence.LOCAL);
console.log('set Persistence');
const user = yield firebase.auth().createUserWithEmailAndPassword(self.email, password);
console.log('CREATED USER', user);
self.uid = user.uid;
})
run()
}