2017-12-13 15 views
1

JavaScriptの機能プログラミングに関するものです。下のコードでは、composesetIntervalの外側では機能せず、clearは最初の引数としてcomposeの初期値を与えません。compose関数とArray.reduceを使用したJavaScript関数のプログラミング

setIntervalがなくてもcomposeはどうすれば動作するのですか?

const clear =() => console.clear() 
 
const f1 =() => 2 
 
const log = message => console.log(message) 
 

 
const compose = (...fns) => 
 
    arg => 
 
     fns.reduce(
 
      (composed, f) => f(composed), 
 
      arg 
 
     ) 
 

 
setInterval(
 
    compose(clear, f1, log), 1000 
 
)

+0

、[タグ:コン]これでは何の関係もありません、あなたが直接それを使用したい場合は

、あなたのような何かを行うことができます。今後の使用については、タグwikiを参照してください。 –

答えて

3

compose(...fns)関数を返します。 setIntervalと一緒に使用すると、JavaScriptエンジンによって暗黙的に呼び出されます。 FYI

const clear =() => console.clear() 
 
const f1 =() => 2 
 
const log = message => console.log(message) 
 

 
const compose = (...fns) => 
 
    arg => 
 
     fns.reduce(
 
      (composed, f) => f(composed), 
 
      arg 
 
     ) 
 

 
compose(clear, f1, log)();

関連する問題