각도를 사용하여 Firebase 튜토리얼을 살펴본 후 컨트롤러에서 child_added
요청을 시작했지만 지금은 리팩터링하고 해당 요청을 서비스로 옮깁니다.파이어베이스 및 각도의 콜백
그러나 익숙하지 않은 서비스에서 사용되는 구문이 있습니다. 컨트롤러에 우리가 같은 서비스를 사용하고 그 다음
app.service(‘messageService’, function() {
var messagesRef = new Firebase(FBURL);
return {
childAdded: function childAdded(callback) {
messagesRef.on(‘child_added’, function(data) {
callback.call(this, {
user: data.val().user,
text: data.val().text,
name: data.name()
});
});
}
}
}
: 다음은 중포 기지 DB에 child_added
요청을 만들고 내 서비스의 우선
messageService.childAdded(function(addedChild) {
$timeout(function() {
$scope.messages.push(addedChild);
});
});
가, 나는에로 혼란 스러워요 무엇 callback.call(this, ...
을 하고있다? 두 번째로 컨트롤러에서 push()
메서드를 사용하여 해당 줄을 연결하는 방법은 무엇입니까?
나는 모든 설명을 크게 부탁드립니다. 감사!
'this' 키워드는 데이터 스냅 샷을 참조합니까? – reknirt
아니요, 'this'는 firebase 이벤트 콜백 인 주변 함수의 호출자를 나타냅니다. 어떤 firebase가 이벤트 콜백을 호출하는지 모르겠지만, 빠른 디버깅 후에는 정의되지 않은 것처럼 보입니다. 편집 : 정의되지 않음, 창 개체가 아닙니다. – jwzirilli
굉장합니다. 매우 감사합니다. – reknirt