如何获取ClojureScript中fetch API返回的响应对象的主体文本?
我正在尝试使用Github Gist API获取我所有Gist的列表,如下所示:如何获取ClojureScript中fetch API返回的响应对象的主体文本?,clojure,clojurescript,fetch-api,clojurescript-javascript-interop,Clojure,Clojurescript,Fetch Api,Clojurescript Javascript Interop,我正在尝试使用Github Gist API获取我所有Gist的列表,如下所示: (ns epi.core) (.then (.fetch js/window "https://api.github.com/users/seisvelas/gists") (fn [data] (.log js/epi data))) js/epi只是console.log,我使用的博客平台(epiphany.pub)除外 当我从curl调用API时,它工作得很好;但是,如果在cljs中完成
(ns epi.core)
(.then (.fetch js/window "https://api.github.com/users/seisvelas/gists")
(fn [data] (.log js/epi data)))
js/epi
只是console.log
,我使用的博客平台(epiphany.pub)除外
当我从curl调用API时,它工作得很好;但是,如果在cljs中完成,而不是给我响应的主体,这将给我
[对象响应]
。有人知道如何获取响应的正文文本吗?似乎是这样。fetch返回一个响应对象,您需要从中获取正文的属性body
类似于(.body data)
TL;DR
(-> (.fetch js/window "https://api.github.com/users/seisvelas/gists")
(.then #(.json %)) ; Get JSON from the Response.body ReadableStream
(.then #(.log js/epi %))
这就是我要写的
从ClojureScript中,可以使用
(.body data)
以及类似data.body
的JavaScript属性访问
(.-body data)
其中一个应该适用于你的情况。但是,如果您愿意的话,fetch
API需要更多,我假设您是根据端点来做的
如果您处理的是承诺链,您可能还需要考虑使用<代码> ->代码>(线程第一),以便从上到下读取。
有关线程承诺链的详细信息,请参见