Когда правило безопасности firebase (.read/.write/.validate) терпит неудачу, он не работает без предупреждения FIREBASE WARNING: вошел в систему. Я хотел бы зафиксировать сбой и представить пользователю пользовательское сообщение (например, «не разрешено» и т. Д.) Как это можно достичь с помощью firebase/angularfire?Как захватить ошибки безопасности в firebase, angularfire?
PS: Я пытался добавить функцию обработчика ошибок для объекта angularfire обещания следующим образом, но это не похоже, чтобы вызвать функцию обработки ошибок, хотя функция успеха делает правильно срабатывать
$firebase(dataRef).$bind($scope, "data").then(
function() {
console.log("success");
},
function (error) {
console.log("error encountered: " + error);
}
);
В настоящее время невозможно перехватить эти ошибки в AngularFire, это будет исправлено в следующей версии. В то же время вы можете использовать обычный Firebase SDK - функция .on() выполняет второй обратный вызов, который будет вызываться при возникновении ошибки безопасности: https://www.firebase.com/docs/javascript/firebase/on .html – Anant
@Anant Будет использоваться .on() в дополнение к регулярному привязке углового огня ($ firebase (dataRef). $ bind ($ scope, "data")) и дополнительный оператор для .on()? Или вы имели в виду, вместо() вместо привязки углового огня? Просьба уточнить. Примером, если это возможно, было бы особенно полезно. Благодарю. – Jarnal
Я имею в виду использование .on() вместо углового огня (с целью обнаружения ошибки). Я отправлю пример в качестве ответа. – Anant