사용자 지정 서비스에서 $http를 사용하여 로컬 json 파일의 데이터를 가져옵니다. 요청이 성공했지만 컨트롤러에서 데이터를 얻을 수 없습니다.
점을 깨면 데이터가 비어 있는 것을 알 수 있습니다. 페이지가 새로 고쳐졌지만 데이터가 있습니다. 이유는 무엇입니까?
맞춤형 서비스 코드:
으아아아컨트롤러 내부 코드:
으아아아Json 데이터 필요:
으아아아중단점은 console.log입니다
페이지를 새로고침하면
컨트롤러에서 데이터를 가져올 수 없는 이유는 무엇인가요? 비동기성 때문인가요?
给我你的怀抱2017-05-15 16:59:48
비동기 호출 문제
service.getData()를 실행한 후에도
service.returnedData 값이 여전히 비어 있습니다~~~
또한 서비스에서 service.getData()가 호출되는 이유는 무엇입니까?
서비스는 다른 모듈에서 호출되어야 합니다. 다른 모듈에 데이터가 필요하지 않은 경우 미리 로드해야 하는 이유는 무엇입니까?
曾经蜡笔没有小新2017-05-15 16:59:48
1. 서비스 코드에 작성한 서비스 이름은 requestData이지만 컨트롤러에 작성한 이름은 blogData입니다. 이것이 이유인지는 모르겠습니다.
2. 커스텀 서비스에서 $http를 사용하는 경우 $http 부분을 분리한 후 컨트롤러 코드에서 차례로 호출해야 합니다.
즉, 컨트롤러는 최소한 다음과 같이 작성되어야 합니다:
requestData.getData().then(콜백 함수)
콜백 함수 부분을 사용자 정의 서비스에 캡슐화하는 것이 좋습니다