Javascript 类型错误:undefined不是函数-云函数中的Promise.all()错误

Javascript 类型错误:undefined不是函数-云函数中的Promise.all()错误,javascript,firebase,google-cloud-functions,Javascript,Firebase,Google Cloud Functions,我正在尝试获取数据库中所有用户的文档ID。 我为此编写了以下代码: exports.scheduledFunction=functions.pubsub .时间表(每2分钟一次) .onRun(异步上下文=>{ log('这将每2分钟运行一次!'); 试一试{ const usersRef=await admin//工作正常,我得到了集合的QuerySnapshot .firestore() .collection('用户') .get(); log('usersRef:',usersRef);

我正在尝试获取数据库中所有用户的文档ID。 我为此编写了以下代码:

exports.scheduledFunction=functions.pubsub
.时间表(每2分钟一次)
.onRun(异步上下文=>{
log('这将每2分钟运行一次!');
试一试{
const usersRef=await admin//工作正常,我得到了集合的QuerySnapshot
.firestore()
.collection('用户')
.get();
log('usersRef:',usersRef);
const userDocs=wait Promise.all(usersRef);//这给出了错误
log('User Docs:',userDocs);
}捕捉(错误){
log('err:',err);
}
返回null;
});
promise.all()
中传递QuerySnapshot承诺时,我获得此错误:

//错误
TypeError:undefined不是函数
at Function.all()
位于exports.scheduledFunction.functions.pubsub.schedule.onRun(/srv/index.js:624:38)
在
在进程中。_tickDomainCallback(internal/process/next_tick.js:229:7)
我希望从
Promise.all()的结果中收集所有文档ID


非常感谢您的帮助。

等待承诺。不需要全部,因为您已经使用
get()
wait
在第一条语句中加载了所有用户文档

因此,它应该是:

  const usersDocs = await admin 
    .firestore()
    .collection('Users')
    .get();
  console.log('User Docs: ', userDocs);

wait Promise.all
不需要,因为您已经使用
get()
wait
在第一条语句中加载了所有用户文档

因此,它应该是:

  const usersDocs = await admin 
    .firestore()
    .collection('Users')
    .get();
  console.log('User Docs: ', userDocs);
接受一系列的承诺
usersRef
既不是数组,也不是承诺。由于您已经在等待get()返回的承诺,这使得
usersRef
成为一个立即可用的对象,因此您需要根据这些条件使用它。因为它是一个快照而不是一个引用,所以您可能应该用不同的名称来命名它。例如:

const usersSnapshot = await admin
        .firestore()
        .collection('Users')
        .get();

const usersDocs = usersSnapshot.docs
console.log(usersDocs)

usersSnapshot.forEach(doc => {
    console.log(doc)
})
接受一系列的承诺
usersRef
既不是数组,也不是承诺。由于您已经在等待get()返回的承诺,这使得
usersRef
成为一个立即可用的对象,因此您需要根据这些条件使用它。因为它是一个快照而不是一个引用,所以您可能应该用不同的名称来命名它。例如:

const usersSnapshot = await admin
        .firestore()
        .collection('Users')
        .get();

const usersDocs = usersSnapshot.docs
console.log(usersDocs)

usersSnapshot.forEach(doc => {
    console.log(doc)
})

尝试删除前面的
wait
admin@sathish1409这不会有什么不同。这会产生不同,你只是引用函数,对吗?它将在
Promise等待任何函数。所有
console.log('usersRef:',usersRef')可以告诉我什么是
console.log
return返回查询快照删除
wait
,它位于admin@sathish1409这不会有什么不同。这会产生不同,你只是引用函数,对吗?它将在
Promise等待任何函数。所有
console.log('usersRef:',usersRef')可以告诉我什么是
console.log返回返回返回查询快照