为什么功能。尽管有功能,firestore仍会出错。https没有?

问题描述 投票:0回答:1

我想知道为什么exports.createID中的await cityRef.get();仍然会出错,尽管exports.newID中的await cityRef.get();相同没有。

exports.newID = functions.https.onRequest(async (req, res) => {
  let citiesRef = fireStore.collection('system').doc('uid_counter');
  let snapshot = await citiesRef.get();
  let counter = snapshot.get('counter');
  console.log('current counter = ', counter);
  res.status(200).send({ counter: counter});
  snapshot.ref.update({counter: coounter})
//  res.send('aho');
});

exports.createID = functions.firestore.document('users/{userId}').onCreate((snap, context) => {
  // ... Your code here
  const newValue = snap.data();
  let citiesRef = fireStore.collection('system').doc('uid_counter');
  let snapshot = await citiesRef.get();
  let counter = snapshot.get('counter');
  let id = hashids.encode(counter++)
  snap.ref.update({id: id})
  console.log(id)
  counter 
});

enter image description here

欢迎任何建议!谢谢!

node.js firebase google-cloud-functions
1个回答
2
投票

您需要添加async关键字:

exports.createID = functions.firestore.document('users/{userId}').onCreate(async (snap, context) => {

等待操作符用于等待Promise。它只能在异步函数中使用。

© www.soinside.com 2019 - 2024. All rights reserved.