[英]save result of an async function in a variable
我正在使用異步 function 從 firebase 中的集合中獲取數據:`
let teste = async function getDados(db)
{
const snapshot = await db.collection('place').doc('House').collection('user').get();
snapshot.forEach((key) => {
console.log(key.id, '=>', key.data());
});
return snapshot
}
console.log("test", teste)
但是,當顯示變量時,結果是:
測試 [AsyncFunction: getDados]
如何將 function 的 console.log 中顯示的結果保存在變量中?
謝謝:最終代碼:
async function getDados(db)
{
const snapshot = await db.collection('place').doc('House').collection('user').get();
let results = [];
snapshot.forEach((key) => {
results.push(key.id, key.data());
console.log(key.id, '=>', key.data());
});
return results
}
async function teste2()
{
let teste = await getDados(db);
console.log("test", teste);
}
teste2();
您實際上沒有調用 function。 你可以嘗試類似的東西,
async function getDados(db)
{
let results = [];
const snapshot = await db.collection('place').doc('House').collection('user').get();
snapshot.forEach((key) => {
results.push(key.id);
console.log(key.id, '=>', key.data());
});
return results;
}
const teste = await getDados(db);
console.log("results ", teste);
我不確定您的代碼的key.data()
部分,所以我只是引用key.id
您將 function getDados
存儲在變量teste
中,那么如果您使用typeof teste
結果將是function
。 您可以使用teste(db)
調用 function getDados
,但是如果要將getDados
的返回值存儲在變量teste
中,可以使用以下代碼:
async function getDados(db)
{
const snapshot = await db.collection('place').doc('House').collection('user').get();
snapshot.forEach((key) => {
console.log(key.id, '=>', key.data());
});
return snapshot
}
let teste = await getDados(db);
console.log("test", teste);
如果您的項目在 v14.3.0 之前的版本上使用支持頂級等待的 Node,請記住在async
function 中使用await
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.