kakao auth login을 await으로 사용하고 싶습니다
현재 코드 내에서
Kakao.Auth.login({ ... });
형태로 success 일 때를 콜백으로 넘겨주고 있는데, 이 전체를 await 할 수 없나요?
카카오 로그인 창이 켜서 사용자가 로그인을 진행하는 동안에 기존의 서비스에 로딩을 걸어놓고 싶고, 이를 detect하기 위해서 await 혹은 promise then 형태의 기술이 필요한 것 같은데 어떻게 이런 문제를 해결하고 계실까요?
직접 스케쥴러 구현하시나요?
전체를 Promise로 감싸주는 형태로 해결했습니다
Kakao.Auth.login
은 callback 방식으로만 제공하고 있는점 양해 부탁드립니다.
질문해주신 async/await를 사용하기 위해서는 Promise로 감싸서 구현하시면 될 것 같습니다.
아래 코드를 참고 해주세요.
function makePromise() {
return new Promise((resolve, reject) => {
Kakao.Auth.login({
success(authObj) {
resolve(authObj);
},
fail(error) {
reject(error);
},
});
});
}
makePromise().then(res => {
/* SUCCESS */
});