async awaitについて

更新日 2023-08-09 13:38:49
javascript

asyncとは

・非同期関数を定義する

async functionは何をするか

・Promiseを返す←※重要
・async functionが値をreturnした場合、Promiseは戻り値をresolveする。←※重要
・async functionが例外や何らかの値をthrowした場合はその値をrejectする。


let promise = async function(value) { // asyncはPromiseを返す
    for (i = 0; i < 10000000; i++) {};
    // return は resolveすることになる
    return value * 2;
};


(async function() {
    let a1 = await promise(1); // awaitすることで、Promiseオブジェクトではなく、resolveした値が返されるようになる
    let a2 = await promose(2);
})();

ajaxとasync await


let doAjax = async function(url, postData, csrf) {
    return await $.ajax({ // ajaxはPromiseを返すがawaitしてるのでresolveした値が返されるようになる
        url : url,
        data : postData,
    });
};