파이어베이스 api에 signInWithCredentialAsync 이거 반환형이 void라 await이 안되는데
이거 그냥 던지고 넘기면 로그인 무사히 됐는지 검증이 안되는거 아니냐...?
기다렸다가 결과 확인하고 진행하고 싶은데
continuewith은 또 되는데 스레드가 분리돼서 실패시 따로 처리해야되고 메인로직에 병합시키는게 불가능한데
파이어베이스 api에 signInWithCredentialAsync 이거 반환형이 void라 await이 안되는데
이거 그냥 던지고 넘기면 로그인 무사히 됐는지 검증이 안되는거 아니냐...?
기다렸다가 결과 확인하고 진행하고 싶은데
continuewith은 또 되는데 스레드가 분리돼서 실패시 따로 처리해야되고 메인로직에 병합시키는게 불가능한데
그거 반환형 Task 아님? .ContinueWith가 된다는건 Task니까 그런거겠지
아 맞네... 얘는 Task네; Social.localuser.Authenticate얘가 void였음 착각함;;
얘는 비동기 함수 자체가 아닌가...??
걔는 성공여부를 콜백으로 받잖아? await를 하고 싶으면 awaitable하게 래핑해서 쓰면 되겠지
내가 병신이었네 이거 그냥 비동기가 아니네... 모든 과정이 동기적으로 되면 그냥 콜백함수는 람다식으로 예외만 받고 나머지 과정은 아예 밑으로 빼도 되나...? 그러니까 Authenticate( ... ); 괄호 완전히 닫고 다음줄로 넘어가면 콜백처리 우선->다음줄 이 순서 보장이 되는거 맞지?
근데 예제들 검색해보면 콜백 람다식 안에서 모든걸 다 해결하려고 하긴 하던데... 난 문제가 그 다음과정이 또 다른 비동기 처리라 람다식 안에 넣을수가 없음;
아니지. 콜백은 언제 불릴지 모르고 Auth 밑줄은 바로 실행되지.. 그게 동기의 의미니까. Auth 결과 받고 다음작업을 하려면 콜백내에서 해야함
좀전에 내가 말한대로 awaitable하게 랩핑해서 써 그럼
랩핑한다는게 별도 task 함수를 만들어서 거기서 콜백 들어올때까지 await 걸어주게 하라는 뜻 맞지...?
특정 함수가 실행될때까지 await하게 구현하는 아이디어가 안떠올라요 ㅜㅜ 계속 슬립걸고 돌면서 값체크해야되나...
TaskCompletionSource 검색 ㄱ
ㄱㅅㄱㅅ