我的代码使用realm库工作,有时它调用realm构造器:
(dependencies/realm. (clj->js options))Realm是这样声明的:
(def realm (js/require "realm"))现在,我想临时模拟realm对象,使其不调用库。我尝试过这种方法:
(def realm #js {:schemaVersion (fn [])
:close (fn [])})它可以很好地模拟close()和schemaVersion()函数,但是我得到了错误dependencies.realm is not a constructor。
如何将构造函数声明添加到realm对象占位符?
谢谢。
发布于 2018-01-28 11:23:58
在javascript中,构造函数是一个函数。相反,您应该有一个返回对象的函数:
(def realm (fn [] #js {}))我假设schemaVersion和close是静态方法。您可以稍后使用以下命令添加它们:
(goog.object/extend realm #js {:schemaVersion (fn [])
:close (fn [])})https://stackoverflow.com/questions/48419625
复制相似问题