計算機科学のブログ

非同期処理 プロミス allメソッド、raceメソッド、thenメソッド

入門JavaScriptプログラミング (JD Isaacks(著)、株式会社クイープ(監修、翻訳)、翔泳社)のUNIT7(非同期処理)、LESSON 30(プロミス)、30.5(練習問題)、Q30-1の解答を求めてみる。

コード

function load(id) {
    return Promise.all([
        ajax(`/user/${id}/credit_availability`),
        Promise.race([
            ajax(`/transunion/credit_score?user=${id}`),
            ajax(`/equifax/credit_score?user=${id}`)
        ])
    ]);
}

load('4XJ')
    .then(
        ([creditAvailability, creditScore]) => {
            // 処理
        },
        err => console.log(err)
    );