asyncってreturnをresolveに変換してくれるだけと思ってたが少し挙動が違うっぽいな

function f1(){
return new Promise((resolve) => {setTimeout(()=>{resolve(1)}, 1000);});
}

例えばこのf1()で戻ってくるPromiseのパラメタは<pending>だけど

async function f2(){
setTimeout(()=>{return(1)}, 1000);
}

このf2()で戻ってくるPromiseは<fulfilled>だわ
つまりreturnする予定のものをresolveに変えるんじゃなくて、
returnされたものを後からresolveに変換するっぽい
だからタイミングf2の書き方だと値を戻すタイミングを遅らせることが出来ない