如何检测ClojureScript对象中是否存在协议?

时间:2013-09-15 20:06:48

标签: clojurescript

我有一系列ClojureScript对象,但只有部分实现了某种协议。如何检测协议是否扩展到特定对象?

1 个答案:

答案 0 :(得分:2)

您可以使用satisfies?检查对象是否扩展了协议。

(defprotocol p
  (go [_] nil))

(deftype t []
  p
  (go [this] true))

(satisfies? p (t.)) ;=> true