Вызываемая облачная функция ожидает транзакцию хранилища данных - PullRequest
0 голосов
/ 25 мая 2020

Я создаю собственное приложение для реагирования с серверной частью Firebase, я пытаюсь использовать облачные функции, но не могу заставить их работать: Моя функция:

exports.funcName = functions.https.onCall((data, context) =>{
    let pseudo = data.pseudo
    let querySnapshot = await admin.firestore().collection("saved").where("pseudoCreateur", "==", pseudo).get()
    return querySnapshot.docs.map(doc => doc.data());
})

const func = functions().httpsCallable('funcName');

func({
    pseudo: 'abc'
}).then(res => {
    console.log('success')
    console.log(res)
})

Но я получаю сообщение об ошибке «ВНУТРЕННИЙ» без дополнительных сведений. Я думаю, что проблема связана с ожиданием, но я не знаю, как с этим справиться ...

1 Ответ

1 голос
/ 25 мая 2020

Проверьте логи в консоли Cloud Functions. Он должен предоставить вам больше информации.

Вы пытаетесь использовать await без соответствующего ключевого слова async. await может использоваться только в функции, которая была объявлена ​​async. Функция обратного вызова, которую вы передаете onCall, должна быть объявлена ​​async, если вы хотите использовать в ней await.

exports.funcName = functions.https.onCall(async (data, context) =>{
    let pseudo = data.pseudo
    let querySnapshot = await admin.firestore().collection("saved").where("pseudoCreateur", "==", pseudo).get()
    return querySnapshot.docs.map(doc => doc.data());
})
...