下面是这个注释,我使用clojure.core.memoize
来存储一些数据库调用的结果:
(def get-user-profile-cached
(memo/memo (get-user-profile)))
get-user-profile
返回映射。
我尝试在函数中使用缓存的get in a let:
(defn get-user-from-token [token]
(let [user (get-user-profile-cached)
id (:id user)]
...))
此let语句会导致以下错误:clojure.lang.ArityException: Wrong number of args (0) passed to: clojure.lang.PersistentArrayMap
。
我做错了什么?
通过使用(get-user-profile)
,您已经在调用该函数并使memo
缓存其结果,即映射。
请尝试传递get-user-profile
,不要使用括号。