我使用db文件写入RealTime数据库。该字段生成唯一的ID密钥,我需要将该密钥传递回父文件。
我的数据库功能:
export const doCreateCompany = name =>
db
.ref(`company`)
.push()
.set({ name });
我的通话功能如下:
db.doCreateCompany(companyName).then((e) => {
console.log("Key", e);
我需要在使用唯一键后立即编写另一个函数。任何帮助都很棒。感谢
答案 0 :(得分:0)
您可以将来自push()
的电话set(...)
分开:
export const doCreateCompany = name =>
var ref = db.ref(`company`).push();
var key = ref.key;
ref.set({ name });
现在您可以将key
返回给调用该函数的人。
答案 1 :(得分:0)
如果您希望函数仍然返回在set()完成时解析的promise,并且 也可以访问推送ID,请尝试以下操作:
export const doCreateCompany = name => {
const ref = db.ref('company').push()
return ref.set({ name }).then(() => {
return Promise.resolve(ref.key)
})
}
然后你可以这样称呼它:
doCreateCompany(name).then(key => {
// key is the push id here
})