У меня есть облачная функция, и когда я использую некоторые асинхронные функции и помещаю 'return' в каждый возможный вывод, я все равно получаю Не все пути кода возвращают значение
I 'мы пытались удалить вызовы из моей базы данных и просто получили return {data: {...}}; 'из-за этого ошибка исчезает.
Я также пытался обернуть все в блок try 'catch'.
В настоящее время у меня есть то, что я ожидал бы работать - два блока get (). Then () ... catch () ..
export const getUsersInHere = functions.https.onCall((data, context) =>
{
if(!context || !context.auth || !context.auth.uid)
{
return {data:{message:"Please login again...", success:false}};
}
else if(data)
{
const my_uid = context.auth.uid;
db.collection(`InHere/${my_uid}`).get().then(snapshot =>
{
return {data:{}, success:true};
}).catch(e =>
{
return {data:{message:"No last message yet...", success:false}};
});
}
else
{
return {data:{message:"no body sent", success:false}};
}
});
Я ожидал, что смогуразверните мою облачную функцию с помощью firebase deploy , вместо этого я получаю ошибки развертывания:
src/index.ts:83:62 - error TS7030: Not all code paths return a value.
83 export const getUsersInHere = functions.https.onCall((data, context) =>
Примечание Мне кажется, я обнаружил, что «развертывание firestore» работает, когдаЯ добавил «async» в сигнатуру вызываемого объекта, однако «предупреждение / ошибка» все еще сохраняется в коде Microsoft Studio (не все пути кода возвращают значение. Ts (7030))
export const getUsersInThisChatRoom = functions.https.onCall ( async (данные, контекст) =>