2017-12-14 4 views
-2

을 가입하기 전에 관찰에 콜백을 추가 그 전 사용자를 업데이트하는 기능이있을 때 :나는 Rxjs 라이브러리 특히 Observables은 몇 가지 어려움을 겪고있어

function updateUser(user: User) { 
    return this.http.put("http://myAPI/user/update, user) 
} 
내가 좋아하는 호출 측에서 그 일을하지 않고 각 updateUser 전화의 사용자를 업데이트 할

:

function updateUser(user: User) { 
    return this.http.put("http://myAPI/user/update", user).addCallback(updatedUser => { 
     this.user = updatedUser.json() 
    }) 
} 

분명히 "updateUser()"가 가입 될 때마다 호출되는 함수를 넣고 싶습니다.

어떤 방법이 있습니까?

도움 주셔서 감사합니다.

+0

과 같을 수를 사용할 수 있습니다 eneeach updateUser 호출을 호출 측에서 수행하지 않고 호출합니다. " ? – komron

+0

죄송합니다. 게시물을 업데이트했으며, 내가 무엇을 기대하고 있는지 예를 들어 보았습니다. –

+0

죄송합니다. 아직 찾고있는 것을 이해하지 못했습니다. 함수에 전달한 사용자 객체를 업데이트 하시겠습니까? 또는 업데이트 후에 항상 json을 반환하도록 함수를 수정 하시겠습니까? –

답변

0

정확하게 이해한다면 관찰자의 반환 값을 조작하여 항상 사용자를 반환 할 수 있습니다.

이런 경우 당신은 Observable.map 기능

귀하의 경우에는

http://reactivex.io/rxjs/class/es6/Observable.js~Observable.html#instance-method-map

당신은 사용자를 업데이트 "에 의해 의미합니까 어떤이

function updateUser(user: User) { 
    return this.http.put("http://myAPI/user/update", user) 
     .map(response => { 
      return response.json(); 
     }); 
} 
+0

에서 자동으로 사용자를 업데이트 할 때마다 호출 될 함수를 추가하는 것입니다. 그게 내가 기대하고있는 것이 아닙니다. 제 클래스 API에 함수가 있습니다. "updateUser()"및 "user : User"멤버. 클래스 B에서 나는 "API.updateUser(). subscribe()"를 호출합니다. 하지만 "API.user = updatedUser.json API –