2026/04/01

javascript 비동기 호출 (async, await, Promise) 기본 예제

단순 조회만 하면, 아래 처럼 필요가 없지만,
조회 요청한 데이터가 출력될때까지, 대기를 해야 하고,
데이터를 확인후에만 다음 단계로 넘어가야 할때. 주로 사용.

function checkValid(x) {
    return new Promise(function(resolve) {

        $.ajax({
            type: "POST",
            url: "/api/",
            data: JSON.stringify({ "x": x }),
            contentType: "application/json",
            dataType: "json",
          beforeSend: function () {
            // 필요하면 로딩 표시 시작
            // showLoading();
          },
success: function (data) { resolve(true);    // 성공시 }, error: function () { resolve(false);    // 실패, 에러 },
          complete: function () {
            // 필요하면 로딩 숨김
            // hideLoading();
          }
});

// 여러개 ajax 항목 동시 실행
}); }

async function saveOrSubmit() {
    const isValid = await checkValid(x);

    if (!isValid) {
        return;                    // 검증 실패하면 종료
    }
console.log("모든 검증 완료 → 실제 저장/처리 로직 실행"); proceedToNextStep(); // 또는 저장 AJAX 호출 등 }

$("#btn").click(function() {
    saveOrSubmit();
});


그런데, 위는 여러개 동시 호출방식이고,  단순하게 절차 단계마다 체크가 필요한 경우에는, async await 를 사용하는게 훨씬 더 직관적임. 

async function check(){}

//호출하는 함수도 async 설정 필요
const
isValid = await check(value);
 if (!isValid) {
        alert('유효하지 않습니다.');
        return;   // 중단
    }


form submit 이 bootstrap validator 플러그인에 바인딩되는 경우.

// 1. 초기화만 심플하게 해줍니다.
$("#form1").validator();

// 2. Submit 핸들러 하나로 통합 관리
$("#form1").on("submit", async function (e) {
    
    // 💡 부트스트랩 validator 검증에 실패한 경우
    if (e.isDefaultPrevented()) {
        // [수정] 버튼을 누를 때마다 무조건 Notify가 실행됩니다.
        $.notify(
            { message: "허용된 값이 아닙니다." },
            { type: "warning" }
        );
        return; // 더 이상 진행하지 않고 중단
    }

    // 부트스트랩 검증을 통과한 경우에만 아래 커스텀 로직 진행
    e.preventDefault(); 

    // 체크박스 검증
    if (!$("#usingAgree").is(":checked")) {
        alert("개인정보 수집/이용에 동의해야 합니다.");
        return;
    }

    // 비동기 검증
    if (!(await check(value))) {
        alert("유효하지 않습니다.");
        return; 
    }

    // 모든 검증 완료 -> 실제 서버로 전송
    e.target.submit(); 
});





2024/01/20

KB5034439 설치 오류 0x8024200B

업데이트 적용 환경 : Windows Server 2022 Std, 21H2

설치 실패: 0x8024200B 오류 때문에 Windows에서 다음 업데이트를 설치하지 못했습니다. 2024-01 x64 기반 시스템용 Microsoft server operating system version 21H2 보안 업데이트(KB5034439).

윈도우 10 2024년 1월 보안 업데이트(KB5034441)
윈도우 11 2024년 1월 보안 업데이트(KB5034440) 

# for hex 0x8024200b / decimal -2145116149
  WU_E_UH_INSTALLERFAILURE                                       wuerror.h
# The installer failed to install (uninstall) one or more
# updates.
# as an HRESULT: Severity: FAILURE (1), FACILITY_WINDOWSUPDATE (0x24), Code 0x200b
# for hex 0x200b / decimal 8203
  ERROR_DS_INVALID_ATTRIBUTE_SYNTAX                              winerror.h
# The attribute syntax specified to the directory service is
# invalid.
# 2 matches found for "0x8024200B"


https://answers.microsoft.com/en-us/windowserver/forum/all/windows-update-failure-on-january-9-2024kb5034129/61af6d50-1f7d-4863-8efb-46869f65885c


이번 업데이트 버그...?
디스크 복구 파티션 때문..?


구글 Blogger, 작성하신 블로그(제목: 'http://.blogspot.com/')가 삭제되었습니다


구글... 도대체 뭐하는 짓인지......??

뭐 내용상으로는,. 누군가 Spam 이라며 신고했다는 건데, 스팸 사이트도 아니고 그럴 내용도 없다. 누군가 악의적으로 신고한것인지 ? 아니면 구글 시스템 오류인건지?

특이한건,. 같은 구글 계정으로 생성된 블로그 3개가 동시에 같은 시간에 정지되었고(내용이 없는 블로그도 삭제됨 > 내용이 없는데 어떻게 스팸? 어이 없음), 해제 요청 후 약 10분만에 3개 모두 복구되었음.

이런식이면, 안정적으로 어떻게 이용할수 있겠는가...??


2024. 1. 18. 오전 5:23

안녕하세요, 아시고 계신 바와 같이 Blogger 커뮤니티 가이드(https://blogger.com/go/contentpolicy)에는 Blogger에서 허용되는 콘텐츠와 허용되지 않는 콘텐츠에 대한 설명이 안내되어 있습니다. 작성하신 블로그(제목: 'http://bitsyrup.blogspot.com/')에 대한 검토를 요청하는 신고가 접수되었습니다. 블로그가 Blogger 커뮤니티 가이드를 위반한 것으로 판단되어 블로그 독자가 해당 URL(http://bitsyrup.blogspot.com/)을 볼 수 없도록 조치했습니다. 블로그가 삭제된 이유 Google SPAM 정책을 위반한 콘텐츠입니다. 자세한 내용은 이메일에 링크된 커뮤니티 가이드 페이지에서 확인하세요. 블로그 콘텐츠가 Google 정책 기준에 부합하지 않는다고 판단되면 해당 블로그를 더 이상 일반에게 공개하지 않습니다. Google에서 실수했다고 생각되는 경우 https://www.blogger.com/unlock-blog.g?lockedBlogID=4970730075099011433에서 검토를 요청하시면 다시 확인하겠습니다. 감사합니다. Blogger팀

"

2024. 1월 18일 오전 10:29
"
안녕하세요, Blogger 커뮤니티 가이드(https://blogger.com/go/contentpolicy)에 따라, 게시하신 블로그에 대한 재검토를 실시했습니다. 검토 결과에 따라 해당 블로그는 다시 복구되었으며 http://bitsyrup.blogspot.com/에서 블로그에 액세스할 수 있습니다. 양해해 주셔서 감사합니다. 안녕히 계세요. Blogger팀

"


가장 많이 본 글