次のような非同期的な関数f
があったとします。
javascript
1const f = new Promise((resolve, reject) => { 2 setTimeout(()=> resolve(1), 1000) 3})
この関数で解決される値res
を用いて、処理g(res)
, h(res)
,...を実行したい時、
javascript
1f.then(res=>{ 2 g(res); 3 h(res); 4 ... 5})
と書けば良いことは知っていますが、これを
javascript
1const res = fを使った何らかの式; 2g(res); 3h(res);
のようにthen
の外に出して、f
が完全な同期関数であるかのように書くことはできるのでしょうか?
完全な同期関数にすることはできませんが、async/await を使ってあたかも同期関数であるかのように書くことはできます。(一応挙動は違うので、「完全な同期関数であるかのように」という言い方は違和感…。)
回答3件
あなたの回答
tips
プレビュー