jsのコールバック

コールバック関数は、関数を呼ぶ関数

// 'funcAです'と出力する関数
function funcA(){
    console.log('funcAです')
}

// 変数x(関数)を受け取って出力する関数 = コールバック関数
function funcB(x){
    console.log('funcBです')
    x()
}

//funcBを起動して、その中でfuncAを起動する
funcB(funcA)

なんか知らんけど、定数として関数を設定できる。

// 定数Aは関数で、変数x(こいつも関数)を実行する
const A = (x) => {
    console.log('Cです。')
    x()
}

// 'funcAです'と出力する関数
function funcA(){
    console.log('funcAです')
}

A(funcA)

/*
Cです。
funcAです
*/

すでに用意してあるsetTimeout()なんかと組み合わせる

const time = 10000 //[ms]
const msg = "お疲れ様"

function funcA(x,y) {
    const z = x/1000

    console.log(y)
    console.log(`${z}秒後経ちました`)
}

//setTimeout(実行する関数,時間,関数に渡す値1,関数に渡す値2,.....)
setTimeout(funcA,time,time,msg)

//格好悪いので、funcBを作って、その中で setTimeoutも実行する。遅延とかは知らん
const funcB = (x,y) => {
    setTimeout(() => {
        const z = x/1000
        console.log(y)
        console.log(`${z}秒後経ちました`)
    }, x);
}

funcB(time, msg)

コメント