2017-12-05 3 views
0

는 여기각도에서 Observable을 사용하는 동안 Observer에 함수를 연결하는 방법은 무엇입니까?

var observable = new Observable(observer => { 
     observer.next(1); 
     observer.next(2); 
     observer.next(3); 
    }).subscribe((success) => { 
     console.log(success); 
    }) 

을 같이 관찰자에 값을 방출하고 관찰하여 그들에 가입하는 방법을 알고 있지만 내가 즉 기능과 같은 일을 수행하려는 경우. 나는 이런 식으로 뭔가를 가지고, 그때 나는 내가 할 수있는 방법, 그것은

var observable = new Observable(observer => { 
     observer.next(function() { 
     setTimeout(() => { 
      1 
     }, 1000) 
     }) 
     observer.next(function() { 
     setTimeout(() => { 
      2 
     }, 1000) 
     }) 
     observer.next(function() { 
     setTimeout(() => { 
      3 
     }, 1000) 
     }) 
    }).subscribe((success) => { 
     console.log(success); 
    }) 

이 가능하며, 내가 할 일은 비동기 기능의 일련의 호출입니다 달성 할 수있는 방법

UPDATE

시퀀스에서 일련의 asnc 함수를 호출하고 싶습니다. 두 번째 함수는 첫 번째 함수 작업이 완료된 후에 만 ​​호출해야합니다.

+0

당신은 내가 즉, 순서 aysnc fuction를 일련의를 호출 할에서는 setTimeout – Aravind

+1

을 발사합니다. 두 번째는 첫 번째 함수 작업이 완료된 후에 만 ​​호출해야합니다. –

+0

내부의 다음 호출 할 필요는 자동으로'점점 subscription' 찾고 –

답변

1

이렇게 할 수 있습니다. 이것은 여기에 근본적인 것입니다. 정적 값을 방출하는 대신 비동기를 호출 할 수 있습니다.

var ParentObservable = new Observable(); 

ParentObservable.subscribe((res) => { 
    //res is your response from async calls 
    //Call asyncCall again from here 
}) 

function asyncCall(){ 
    this.http.get("your URL").map((res)=> res.json()).subscribe((res)=>{ 
     ParentObservable.next(res); 
    }) 
} 
+0

업데이트 된 질문 –

+0

수정 된 답변을 참조 할 수 있습니까? 확인해주십시오? 부모 구독자와 asyncCall 함수를 호출 할 수 있습니다. –