我想知道为什么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
});
欢迎任何建议!谢谢!
您需要添加async
关键字:
exports.createID = functions.firestore.document('users/{userId}').onCreate(async (snap, context) => {
等待操作符用于等待Promise。它只能在异步函数中使用。