- 701 名前:デフォルトの名無しさん mailto:sage [2021/12/01(水) 01:30:16.63 ID:hYYowF9a.net]
- >>685
公式を見なさい RustではPromiseはFuture traitでゼロコスト設計 https://doc.rust-lang.org/std/future/trait.Future.html Futureはpoll()を持ち呼ばれると以下の2状態いずれかを返す ・Poll::Pending ・Poll::Ready(val) 【Rustではエラー状態はなくResult<正常値,エラー値>で返す】 https://doc.rust-lang.org/std/keyword.async.html asyncはFutureを返す JavaScriptがそんなに好きならこちら https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise Promiseは以下の3状態を持つ ・pending ・fulfilled 【正常値が得られた時】 ・rejected 【エラー値が得られた時】 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function asyncはPromiseを返す このように概念は全く同じ ただしJavaScriptはPromise作れば自動的にスケジューラーに登録されてタスク切り替え実行されるが Rustはゼロコスト設計だからFuture作ったら自分で好みのスケジューラーに登録してタスク切り替え実行される もし非同期プログラミングが不得意ならば数学も不得意だろう
|

|