- 910 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 10:36:22.27 ID:QeQ2VGy/.net]
- その>>887が作った例でsetTimeoutでは不満で裏で具体的に動くもので示して欲しいなら
>> const sleep = ms => new Promise((f)=> setTimeout(f, ms)); >> const p1 = sleep(100); この部分を代わりに公開テストURLの遅延オプション(秒単位)を使って const sleep = (sec) => { fetch(`https://httpbin.org/delay/${sec}`); }; const p1 = sleep(5); これで順次なら5秒+5秒=10秒かかるところが並行に動いて5秒ちょっとで動くことがわかる >>891 Rustも難しくない 上記と同じ例ならその部分はこれで動く let sleep = |sec| { spawn(fetch(format!("https://httpbin.org/delay/{sec}"))) }; 明示的にspawn()する必要がある点以外はJavaScriptと同じ ちなみにformat!はsprintf相当のフォーマッティングで変数sec部分を展開 どちらも作成されたsleep関数はPromise/Futureを返していてそれに対してawaitできる
|

|