Облачные функции Firebase ts2532,7005 - PullRequest
0 голосов
/ 01 июня 2019

Я смотрю видео об облачных функциях и у меня все еще есть проблемы, поэтому я решил спросить здесь

и я уже проверил эту ссылку: Облачные функции Firebase Объект возможно 'undefined'

но проблема все еще не работает

во-первых, я не хочу удалять "строгий режим" в tsconfig.json

вот мой код

export const onBostonWeatherUpdate =
functions.firestore.document("cities-weather/boston-ma- 
us").onUpdate(change => {
if (change.after) {
const after = change.after.data() 
const payload = {
    data: {
        temp: String(after.temp),
        conditions : after.conditions
    }
}
return admin.messaging().sendToTopic("weather_boston-ma-us", payload)
.catch(error => 
    console.error("FCM failed", error))
}
else{
    return null
}
})

это делает ts (2532) Объект, возможно, «неопределенным». и я не хочу использовать "после!" либо потому, что если в каком-то случае это действительно не определено

и

.then(citySnapshots => {
    const results = []
    citySnapshots.forEach(citySnap => {
        const data = citySnap.data()
        results.push(data)
    })
    response.send(results)
})

это делает ts (7034) переменная 'results' неявно имеет тип 'any []'.

Я действительно застрял в этом надолго

теперь, пожалуйста, кто-нибудь, помогите мне

1 Ответ

1 голос
/ 01 июня 2019

На этой строке:

const after = change.after.data()

data() может вернуть неопределенное значение, если моментальный снимок не существует. Вы должны проверить этот случай перед использованием after.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...