첫 번째 관측 가능 함수의 출력이 두 번째 관찰 가능 함수에서 매개 변수로 필요한 각도 2에서 관측 가능한 체인 2를 원합니다.angle2에서 관측 가능한 두 개의 관측치를 만드는 방법
은 내가 관찰과 같이 만들었습니다, 내가 좋아하는 응답을 얻을 것이다 otpVerify
에서 여기
login(form: any, event: Event): void {
this.authService.otpVerify(form)
.switchMap((data) => this.authService.storeData(data))
.subscribe(response => {
if(this.navCntrl.canGoBack())
this.navCntrl.pop();
else
this.navCntrl.setRoot('TabsPage');
}, (err)=>{
console.log("your credentials doesn't match");
});
}
을 :
storeData(response: any): Observable<any> {
return Observable.create((observer) => {
// storing the data in localstorage
this.storage.ready().then(() => {
this.storage.set('USERACCESSTOKEN', response.token).then(() => {
this.storage.set('USERROLE', response.user_role).then(() => {
delete response.token;
this.storage.set('USERDATA', response).then(() => {
this.setLoggedIn(true);
observer.complete();
})
})
})
})
});
}
내가 이렇게 내 로그인 페이지에서 사용하고자하는 그 :
{
"success" : true,
"message" : "Login success",
"token" : "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJod…n19fQ.EMMT6wJeoF7Y52c3UQzgw3rkTY0WduGYq...........",
"name" : "Jony",
"user_role" : "editor"
}
여기 정확한 신임 확인을 마친 후 user_role도 확인하고 싶습니다. user_role이 응답에서 (편집자 또는 구독자)와 일치하면 switchMap((data) => this.authService.storeData(data))
블록으로 이동합니다. 이 역할은 허용되지 않습니다. 대화 상자 & 데이터도 저장되지 않습니다. [나는이 논리를 여기에 추가하지 않았습니다. 어떻게 해야할지 모르겠습니다. 그러나 이것은 내가 찾고있는 것이다.] AuthService
에서
otpVerify
기능은 그 같은 것입니다 :
otpVerify(body: any): Observable<any> {
let headers = new Headers();
headers.append('Content-Type', 'application/json');
this.options = new RequestOptions({ headers: headers });
return this.http.post(AppSettings.API_ENDPOINT2 + 'login', body, this.options)
.map(response => response.json())
.catch(this._errorHandler);
}
이 OTP 검증 후, 나는 그것이 유효한 사용자인지 것을 볼 수도 조건을 넣고 싶다. 모든 것이 잘되면 데이터를 저장하고 오류 메시지를 표시합니다. 이 문제를 해결하도록 도와주세요.
그래서'login' 메소드를 변경하여 일을 제대로하고 싶습니까? –
예 @AdrienBrunelat –
현재 코드가 정확히 무엇입니까? 나는 각성 환경을 설정하지 않았으며 오직 머리로 당신을 도울 것입니다. –