gpt4 book ai didi

javascript - 在 firebase.push() 之后读取创建的 key 和数据

转载 作者:行者123 更新时间:2023-11-30 20:26:13 24 4
gpt4 key购买 nike

我的问题

我已经阅读了一些关于此的 SO 问答(例如 In Firebase when using push() How do I get the unique ID and store in my database),但无法使我的代码正常工作。

我想做什么

firebase.push 之后,获取创建的 key 并读取在 push 调用中写入的数据。

代码如下:

addCard = async ({
number, expMonth, expYear, cvc,
}) => {
this.setState({ addingCardInProcess: true });
try {
const tokenObject = await stripe.createTokenWithCard({
number, expMonth, expYear, cvc
});
firebase
.database()
.ref(`/stripe_customers/${uid()}/sources`)
.push({ token: tokenObject.tokenId })
.then(() => {
// I want to get the key and read the pushed data here.
// How do I do it?
this.setState({ addingCardInProcess: false });
this.cardAlert(true);
})
.catch((err) => {
this.setState({ addingCardInProcess: false });
this.cardAlert(false, err.message);
});
} catch(err) {
this.cardAlert(false, err.message);
this.setState({ addingCardInProcess: false })
}
};

最佳答案

addCard = async ({
number, expMonth, expYear, cvc,
}) => {
this.setState({ addingCardInProcess: true });
try {
const tokenObject = await stripe.createTokenWithCard({
number, expMonth, expYear, cvc
});
let id = firebase.database().ref().push().key;
let body = { token: tokenObject.tokenId };
firebase
.database()
.ref(`/stripe_customers/${uid()}/sources`).child(id)
.set(body)
.then(() => {
// I want to get the key and read the pushed data here.
// Now you have your key here in "id" variable and data in "body" variable
this.setState({ addingCardInProcess: false });
this.cardAlert(true);
})
.catch((err) => {
this.setState({ addingCardInProcess: false });
this.cardAlert(false, err.message);
});
} catch(err) {
this.cardAlert(false, err.message);
this.setState({ addingCardInProcess: false })
}
};

现在您在“id”变量中拥有自动生成的 key ,在“body”变量中拥有您推送的数据。

希望对您有所帮助!

关于javascript - 在 firebase.push() 之后读取创建的 key 和数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50894735/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com