获取信息

时间:2016-04-14 17:43:39

标签: clojure clojurescript core.async

我有以下ClojureScript代码来发出POST请求:

(defn perform-post [resource]
  "Performs a post and returns the body :)"
  (go (let [response (<! (http/post resource))]
        (:body response))))

当我调用返回数字

的资源时
(js/console.log (perform-post post-create-recipe-url))

打印:

  

buf
对象{buf = {...},n = 1,cljs $ lang $ protocol_mask $ partition0 $ = 2,
      更多...}
  buf
对象{head = 1,tail = 0,length = 1,meer ...}   ARR

  [“6276677237104933520”,undefined]

我想将“6276677237104933520”(帖子正文)信息作为“返回”值获取。

我怎样才能做到这一点?我尝试了<!!,但由于未定义,因此无效。

1 个答案:

答案 0 :(得分:3)

在ClojureScript平台上无法阻止语义(<!!)。

您只能在go块中检索通道中的值:

(go (js/console.log (<! (perform-post post-create-recipe-url))))