gpt4 book ai didi

javascript - 如何将 Firestore 中的数据放入全局变量?

转载 作者:行者123 更新时间:2023-12-04 01:00:18 26 4
gpt4 key购买 nike

如何让值在 onSnapshot 函数之外返回?

function checkIfExisting(){

const collection = firebase.firestore().collection("audit");
const getCaseID = collection.where("caseID", "==", "00001234");

getCaseID.onSnapshot(function(querySnapshot) {
let wordLists = [];
querySnapshot.forEach(function(doc) {
//get all the scanned words under "word" field in the Firestore Database
wordLists.push(doc.data().word);
});

console.log("words: ", wordLists);// return a value

});

console.log("words1: ", wordLists);// undefined

}

我知道 console.log("words1: ", wordLists) 在函数之外,这就是我无法获取其值的原因。您能否给我一个关于如何在函数外调用它的想法(如果可能)。

最佳答案

要在外部访问它,您可以使用Promise:

function checkIfExisting(){
return new Promise((resolve, reject) => {
const collection = firebase.firestore().collection("audit");
const getCaseID = collection.where("caseID", "==", "00001234");

getCaseID.get().then(function(querySnapshot) {
let wordLists = [];
querySnapshot.forEach(function(doc) {
//get all the scanned words under "word" field in the Firestore Database
wordLists.push(doc.data().word);
resolve(wordLists);
});
console.log("words: ", wordLists);// return a value
});

然后要访问外部执行以下操作:

checkIfExisting().then((result) => {
console.log(result);
});

result 将包含 wordLists

查看以下内容以获取更多信息:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise

关于javascript - 如何将 Firestore 中的数据放入全局变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59068260/

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