programing

서버와 클라이언트 간의 데이터 자동 동기화

telebox 2023. 3. 8. 21:01
반응형

서버와 클라이언트 간의 데이터 자동 동기화

앵귤러에 뭔가 있어JS 문서를 찾을 수 없거나 놓쳤을 수 있습니다.

백엔드에서 NodeJS와 Express를 사용하여 웹 앱을 만들고 있는데, 프론트엔드에서 Angular와 어떻게 상호작용할 수 있는지 알아보려고 합니다.특히 Angular를 위한 JSON API를 가지고 정보를 가져옵니다.프런트 엔드를 항상 최신 상태로 유지하고 싶다.

질문은 다음과 같습니다.

  • 양방향 데이터 바인딩 기능은 Angular($resource 또는 $http)가 n초마다 서버에서 데이터를 자동으로 가져오는 것을 의미합니까?
  • 자연스럽게 긴 폴링, 짧은 폴링 또는 웹소켓을 사용합니까?
  • 서버-클라이언트 동기화를 실현하기 위해 JQuery가 필요합니까?아니면 Angular를 사용하여 모든 작업을 수행할 수 있습니까?
  • 이 동작을 수행하려면 코드를 추가해야 합니까?$timeout을 사용해야 합니까?

제가 찾은 모든 예시는 고객이 데이터를 한 번 가져오는 것과 관련이 있습니다.서버와 데이터를 동기화하지 않습니다.

각도에서의 양방향 바인딩JS는 데이터 모델($scope)과 뷰(지시)를 참조합니다.예를 들어, 모델에서 데이터가 변경되면 뷰가 자동으로 업데이트됩니다.마찬가지로 사용자가 뷰의 데이터를 수정하면 모델이 자동으로 업데이트됩니다.

웹 서비스와의 상호작용은 $http 서비스 모듈을 통해 이루어집니다.RESTful API에서 데이터를 가져오려면 다음과 같은 작업을 수행합니다.

$http.get('/someUrl').success(successCallback);

$http에 대한 전체 문서는 Angular에 있습니다.JS 사이트jQuery의 $.ajax 메서드와 매우 유사하다는 것을 알게 될 것입니다.angular의 $timeout 서비스(기본적으로 setTimeout 래퍼)를 사용하여 $http.get()을 쇼트폴링용으로 쉽게 설정할 수 있습니다.

Angular 간의 실시간 업데이트용JS 클라이언트와 서버 API. Socket.io 를 참조해 주세요.node.js를 사용하여 브라우저와 서버 간에 라이브 소켓 연결을 만들고 오래된 브라우저의 폴백 메커니즘(플래시, 롱 폴링)을 갖추고 있습니다.GitHub에는 Angular 설정 방법을 보여주는 보일러 플레이트 프로젝트가 있습니다.소켓 포함 JSio: https://github.com/btford/angular-socket-io-seed

개요:

양방향 데이터 바인딩 기능은 Angular($resource 또는 $http)가 n초마다 서버에서 데이터를 자동으로 가져오는 것을 의미합니까?

아니요, 이원 바인딩은 각도 모델과 뷰 사이에 있습니다.

자연스럽게 긴 폴링, 짧은 폴링 또는 웹소켓을 사용합니까?

Angular(각도)에는 포함되지 않습니다.사용자가 직접 설정해야 합니다.

서버-클라이언트 동기화를 실현하기 위해 JQuery가 필요합니까?아니면 Angular를 사용하여 모든 작업을 수행할 수 있습니까?

$http는 넓은 의미에서 jQuery의 $.ajax와 동일한 Angular입니다.

이 동작을 수행하려면 코드를 추가해야 합니까?$timeout을 사용해야 합니까?

쇼트폴링에는 $timeout을, 롱폴링이나 웹소켓에는 자체 솔루션을 롤아웃합니다(각도 소켓 io 시드 프로젝트 참조).

언급URL : https://stackoverflow.com/questions/15416879/angularjs-automatically-syncing-data-between-server-and-client

반응형