goog.dom.animationFrame 的递归调用
Recursive Call with goog.dom.animationFrame
我正在尝试使用 google 闭包 animationFrame 功能。
我想用它创建一个动画任务并递归调用创建的任务。
我定义了一个名为 animationTask 的定义。
当我尝试在该任务中递归使用该 def 时,它失败了。它注销 animationTask 未定义,因此不能用作函数。
有人能给我指出正确的方向吗?
我觉得我在这里缺少一些基本的 clojure 知识。
您的代码在定义之前调用了动画任务函数。它类似于这个更简单的代码:
(defn create [x] (fn []))
(def task (create {:measure (task)}))
如果您在 REPL 中尝试这样做,您会看到 task
在未定义时被调用。
相反,:measure
下的值应该是一个函数,而 API 接受一个 JavaScript 对象。这类似于将上面的示例修改为:
(def task (create #js {:measure (fn [state] (task))}))
我正在尝试使用 google 闭包 animationFrame 功能。 我想用它创建一个动画任务并递归调用创建的任务。
我定义了一个名为 animationTask 的定义。 当我尝试在该任务中递归使用该 def 时,它失败了。它注销 animationTask 未定义,因此不能用作函数。
有人能给我指出正确的方向吗? 我觉得我在这里缺少一些基本的 clojure 知识。
您的代码在定义之前调用了动画任务函数。它类似于这个更简单的代码:
(defn create [x] (fn []))
(def task (create {:measure (task)}))
如果您在 REPL 中尝试这样做,您会看到 task
在未定义时被调用。
相反,:measure
下的值应该是一个函数,而 API 接受一个 JavaScript 对象。这类似于将上面的示例修改为:
(def task (create #js {:measure (fn [state] (task))}))