約束を返すだけで呼び出され、.then
でチェーンされた関数を返す関数を作成するためのきれいな方法があるかどうかを知りたいと思います。コールサイトに基づいて機能や約束を返す方法は?
例:
// returns a promise. use to start chains:
// eg: wait(400).then(...)
const wait_p = (t) => new Promise(resolve => setTimeout(resolve, t));
// returns a function: use inside .then():
// eg: $get('whatever').then(wait_f(300))
const wait_f = (t) =>() => wait_p(t)
単一wait()
機能に合併wait_f wait_pとの両方を持っているクリーンな方法は何ですか?
//hypotetically:
const put = (x) =>() => console.log(x)
wait(1000)
.then(put('one'))
.then(wait(1000))
.then(put('two'))
'Promise.resolve(wait_p(t))'で解決済みの約束を返すことができますが、 'wait_p'が失敗する可能性があるので、' Promise'をラップする必要があります。 – thefourtheye
また、多型戻り型の関数は、呼び出し元には驚きでしょう – thefourtheye
それは混乱していて良いことではないことは間違いありません。しかしまだ... – deddu