Иногда код сводит вас с ума, потому что вы знаете, что ответ должен быть простым.
Рассмотрите эту рабочую функцию (я использую firestore
):
async function getHousing(id) {
const housing = await db
.collection('HOUSINGS')
.doc(id)
.get()
.then(doc => {
if (!doc.exists) logger.debug('No such housing')
return doc.data()
})
.catch(e => {
logger.error(e)
return
})
return housing
}
module.exports.getHousing = getHousing
Когда я использую его где-то, requiring
соответственно, он работает как шарм , иначе ошибки:
const { getHousing } = require('../models/housing')
async function getHousings(user) {
...
for (let house of allowedHousings) {
let housing = await getHousing(id)
}
...
return someStuff
}
Однако, когда я использую его где-то еще, требуетсяточно так же я получил ошибку: error: getHousing is not a function
const { getHousing } = require('../models/housing')
async function saveProp(data) {
try {
await db
.collection('PROPS')
.doc(data.ID.PROP)
.set(data)
// data.ID.HOUSING is the correct ID
const housing = await getHousing(data.ID.HOUSING)
return housing
} catch (e) {
logger.error(e)
}
}
Я действительно не понимаю, почему.Есть ли у вас какие-либо подсказки?Спасибо
РЕДАКТИРОВАТЬ: На самом деле, когда я переключаюсь на другую асинхронную функцию, работающую также где-то (saveHousing()
), она больше не работает на saveProp()
fn ... Странно, но не помогаетя отлаживаю это ...