각도 서비스에서 우리는 토큰을 제공하고 토큰이로드 될 때까지 차단해야하는 함수를 노출합니다.
서비스의 중요한 부분
....
function getToken(){
tokenPromise().then(
function(token){ return token;},
function(error){ return null;}
}
....
이것을 차단 기능 코드로 바꾸려면 어떻게해야합니까?
그래서 service.getToken();
차단 / 토큰까지 synchronious되어있다.
약속 / 콜백을 반환하는 것은 해결책이 아닙니다.
자바 스크립트에서는 동기식이 아니면 차단 기능 이 없습니다 .
당신이 할 수있는 일은 약속을 반환하고 약속을 getToken
사용하여 계속하는 것입니다 then
.
getToken().then(function(token) {
// Do stuff when I get the token
});
약속 / 콜백을 반환하는 것은 해결책이 아닙니다.
이것은 당신이 결정할 수 없습니다 . JavaScript는 브라우저의 UI 스레드를 차단할 수 없으므로 원하는 접근 방식은 현재로서는 절대 불가능합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다