angular2 / ionic2에서 동시에 관찰 가능한 요청 수행

Geoff

angular2 및 ionic2를 처음 사용하고 다른 성공적인 요청 후에 두 개의 요청을 수행하고 싶습니다.

그것은 성공적인 로그인 후 반환 된 토큰에 서버에 대한 액세스 권한이 있는지 확인하고 그에 따라 사용자를 다시 수정하고 싶습니다.

이것은 내가 시도했지만 작동하지 않습니다.

  redirrect(token: string) {

//console.log(token)  returns value of the token

       if (this._authservice.checkAccessRights(token, "is-marshal")) {
           this._navCtrl.setRoot(MarshalPage);

      } else if(this._authservice.checkAccessRights(token, "can-read")) {

           this._navCtrl.setRoot(UserPage);

      } else {

      //force logout then redirrect to login page
         return this._authservice.logout()
            .subscribe(() => {
            this.showtoast("No access rights");
            this._navCtrl.setRoot(LoginPage);
         },
       error=>this.handleError())
    }

   }

이것은 _authservice입니다

  checkAccessRights(usertoken: string, permission: string): Observable<any>             
    {
         let headers = new Headers();
         headers.append('Authorization', 'Bearer ' + usertoken);

      return this._http.post(this.authurl +"can-access",permission)
       .map((response: Response) => {
           return response;  //this response is true or false from server
         });
   }
수 라즈 라오

checkAccessRights관찰 가능 항목을 반환하므로 구독하고 참 / 거짓을 확인해야합니다. 현재는 Observable이 반환되는지 확인하고 있습니다.

시험:

    redirrect(token: string) {

    //console.log(token)  returns value of the token

          this._authservice.checkAccessRights(token, "is-marshal").subscribe(
              data=>{
               data?
                  this._navCtrl.setRoot(MarshalPage):
                       this._authservice.checkAccessRights(token, "can-read").
                       subscribe(data=>{
                        if(data)
                         this._navCtrl.setRoot(UserPage);
                        else
                          this._authservice.logout()
                              .subscribe(() => {
                                this.showtoast("No access rights");
                                this._navCtrl.setRoot(LoginPage);
                                },
                               error=>this.handleError());

          //force logout then redirrect to login page

                         });

          });
}

switchmap 사용 :

  redirrect(token: string) {


             canRead$ = this._authservice.checkAccessRights(token, "can-read").switchmap(data=>data?Observable.fromPromise(this._navCtrl.setRoot(UserPage)).mapTo(true)):
    this._authservice.logout().mapTo(false));

             marshal$ = this._authservice.checkAccessRights(token, "is-marshal").switchmap(data=>{data? Observable.fromPromise(this._navCtrl.setRoot(MarshalPage)).mapTo(true):
    canRead$);
                        marshal$.subscribe(data=>{
                             if(!data){
                                    this.showtoast("No access rights");
                                    this._navCtrl.setRoot(LoginPage);
                                    },
                                   error=>this.handleError());

              //force logout then redirrect to login page

                             });
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

관찰 가능한 요청에서 404를 처리하는 방법 Angular

분류에서Dev

API (Angular, TypeScript, RxJS)에 대한 다중 요청을 시도하는 동안 TypeScript 관찰 가능 오류

분류에서Dev

angular2 rxjs 관찰 가능한 forkjoin

분류에서Dev

Angular2 관찰 가능한 콜백

분류에서Dev

관찰 가능한 값을 동시에 얻을 수 있습니까? (Angular / ReactiveX)

분류에서Dev

진행중인 API 요청에 관찰 가능 항목 재사용

분류에서Dev

angular2 이벤트를 관찰 가능한 객체에 바인딩

분류에서Dev

Angular2 : 관찰 가능한 배열을 구성 요소에 바인딩하는 동안 오류가 발생했습니다.

분류에서Dev

Angular RxJs 배열을 통해 루프를 수행하고 http get 요청을 단일 반응 관찰 가능 항목에 할당하는 방법

분류에서Dev

Ionic에서 관찰 가능한 Nav 매개 변수

분류에서Dev

RxJS에서 청크 단위로 관찰 가능 그룹 실행

분류에서Dev

(닫힘) 관찰 가능한 검색이 Angular2의 init에서 모든 데이터를 검색 할 수 없습니다.

분류에서Dev

angular2 nativescript의 관찰 가능한 배열에서 문자열 값 가져 오기

분류에서Dev

비동기 함수에서 관찰 가능한 값 설정

분류에서Dev

구독에서 관찰 가능한 angualr2 반환

분류에서Dev

Angular 4 프로젝트에서 관찰 가능한 Angular2-highcharts

분류에서Dev

RxSwift에서 관찰 가능한 요소의 배열

분류에서Dev

관찰 가능한 각도 2 관찰 가능 []

분류에서Dev

RxSwift 필터 UICollectionView에 대한 관찰 가능한 변수 numberOfItems (:)

분류에서Dev

OnInit Angular에서 관찰 가능한 서비스 수준에 대한 Jasmine 테스트 구독

분류에서Dev

소스가 클래스 일 때 rxjs에서 관찰 가능한 'this'요소를 얻을 수 있습니까?

분류에서Dev

RxJava는 체인 네트워크 요청에서 이전에 관찰 가능한 결과를 얻습니다.

분류에서Dev

KnockoutJS : 사용자 지정 구성 요소 외부에서 관찰 가능한 변수에 액세스

분류에서Dev

KnockoutJS : 사용자 지정 구성 요소 외부에서 관찰 가능한 변수에 액세스

분류에서Dev

Qt에서 관찰 가능한 QString

분류에서Dev

어떻게 두 개의 관찰 가능한 순차적에서 값을받을 수 있나요?

분류에서Dev

관찰 가능한 서비스에 따라 변경되는 Angular 구성 요소 테스트

분류에서Dev

Angular2 / Ionic2 : 리스너 내에서 $ http.get 실행

분류에서Dev

관찰 가능한 목록 각도 2

Related 관련 기사

  1. 1

    관찰 가능한 요청에서 404를 처리하는 방법 Angular

  2. 2

    API (Angular, TypeScript, RxJS)에 대한 다중 요청을 시도하는 동안 TypeScript 관찰 가능 오류

  3. 3

    angular2 rxjs 관찰 가능한 forkjoin

  4. 4

    Angular2 관찰 가능한 콜백

  5. 5

    관찰 가능한 값을 동시에 얻을 수 있습니까? (Angular / ReactiveX)

  6. 6

    진행중인 API 요청에 관찰 가능 항목 재사용

  7. 7

    angular2 이벤트를 관찰 가능한 객체에 바인딩

  8. 8

    Angular2 : 관찰 가능한 배열을 구성 요소에 바인딩하는 동안 오류가 발생했습니다.

  9. 9

    Angular RxJs 배열을 통해 루프를 수행하고 http get 요청을 단일 반응 관찰 가능 항목에 할당하는 방법

  10. 10

    Ionic에서 관찰 가능한 Nav 매개 변수

  11. 11

    RxJS에서 청크 단위로 관찰 가능 그룹 실행

  12. 12

    (닫힘) 관찰 가능한 검색이 Angular2의 init에서 모든 데이터를 검색 할 수 없습니다.

  13. 13

    angular2 nativescript의 관찰 가능한 배열에서 문자열 값 가져 오기

  14. 14

    비동기 함수에서 관찰 가능한 값 설정

  15. 15

    구독에서 관찰 가능한 angualr2 반환

  16. 16

    Angular 4 프로젝트에서 관찰 가능한 Angular2-highcharts

  17. 17

    RxSwift에서 관찰 가능한 요소의 배열

  18. 18

    관찰 가능한 각도 2 관찰 가능 []

  19. 19

    RxSwift 필터 UICollectionView에 대한 관찰 가능한 변수 numberOfItems (:)

  20. 20

    OnInit Angular에서 관찰 가능한 서비스 수준에 대한 Jasmine 테스트 구독

  21. 21

    소스가 클래스 일 때 rxjs에서 관찰 가능한 'this'요소를 얻을 수 있습니까?

  22. 22

    RxJava는 체인 네트워크 요청에서 이전에 관찰 가능한 결과를 얻습니다.

  23. 23

    KnockoutJS : 사용자 지정 구성 요소 외부에서 관찰 가능한 변수에 액세스

  24. 24

    KnockoutJS : 사용자 지정 구성 요소 외부에서 관찰 가능한 변수에 액세스

  25. 25

    Qt에서 관찰 가능한 QString

  26. 26

    어떻게 두 개의 관찰 가능한 순차적에서 값을받을 수 있나요?

  27. 27

    관찰 가능한 서비스에 따라 변경되는 Angular 구성 요소 테스트

  28. 28

    Angular2 / Ionic2 : 리스너 내에서 $ http.get 실행

  29. 29

    관찰 가능한 목록 각도 2

뜨겁다태그

보관