@ firebase / database: FIREBASE WARNING: исключение было вызвано обратным вызовом пользователя. TypeError: невозможно прочитать свойство myID из undefined

Я только что создал приложение angularjs, используя geofire для определения местоположения. Он отлично работает в производственной среде, но при развертывании на firebase возникают проблемы. Я считаю, что ошибка должна быть отсюда

getLocations(radius: number, coords: Array<number>) {
    console.log(radius, coords)
    this.geoFire.query({
        center: coords,
        radius: radius
    })
    .on('key_entered', (userKey, location, distance) => {
        //we need to check this because this.hits the behavioursubject already cached previous result and geofire fetches again each time we go back to homepage
        const existAlready = this.hits.value.filter(h=>h.userKey === userKey)
        if(existAlready.length > 0){
            return
        }
        console.log(userKey)
        const u = this.userList.query.ref
                      .child(`/${userKey}`)
                      .on('value',s=>{
                        const {name, address} = s.val()
                        console.log(s.val())
                        let hit = {
                            location,
                            distance,
                            name,
                            address,
                            userKey
                        }

                        let currentHits = this.hits.value
                        currentHits.push(hit)
                        this.hits.next(currentHits)

                        this.eventService.sendMessage(Constants.EVENT_MESSAGES.LOADING, true)
                      })
    })
}

Приведенный выше код предназначен для получения местоположений вокруг меня, как только приложение загружается. Но вместо этого я получаю эту ошибку

@ firebase / database: FIREBASE WARNING: исключение было вызвано обратным вызовом пользователя. TypeError: невозможно прочитать свойство myID из undefined

Ошибка возникает только в производстве


person Doyin Olarewaju    schedule 02.05.2018    source источник


Ответы (3)


Я исправил ошибку в следующих версиях библиотек

npm uninstall firebase 
npm uninstall angularfire2
npm install firebase@^4.11.0
npm install angularfire2@^5.0.0-rc.6
person Francisco José Rojas Castillo    schedule 10.05.2018

Я также получаю ту же ошибку при производстве в своем приложении. Единственное, что, кажется, исправляет, - это очистка моего кеша Google, истории и файлов cookie. Это ни в коей мере не постоянное исправление, но попробуйте и посмотрите, поможет ли это.

person IanChristner    schedule 11.05.2018

Не уверен, что это решение, но у меня это сработало. Я думаю, что настоящая проблема возникает, когда вы развертываете новую сборку и не очищаете кеш.

Так что для меня каждый раз при развертывании я должен снова очищать кеш.

достаточно интересно, это просто происходит в хроме. Я тестировал его в Edge, и мне не нужно это проходить.

person TheChix    schedule 21.05.2018