Fetch API 从响应中获取原始值
Posted
技术标签:
【中文标题】Fetch API 从响应中获取原始值【英文标题】:Fetch API get raw value from Response 【发布时间】:2017-07-09 09:49:27 【问题描述】:我使用 React-Native 请求一些数据,这是我的代码:
fetch('https://raw.githubusercontent.com/facebook/react-native/master/docs/MoviesExample.json')
.then((response)=>
return response.json()
)
.then((responseJSON)=>
callback(responseJSON)
)
.catch((error)=>
console.error(error);
)
.done()
我看到response
是Response
对象,而json
功能码是return this.text().then(JSON.parse)
,我很困惑JSON.parse
的参数是什么?那是response
原始值吗?我怎样才能得到它?
【问题讨论】:
显然this.text()
返回了一个承诺,该承诺由响应的文本内容实现。
感谢您的回答。我有原始文本使用代码.then(response=>response.text()).then(text=>console.log(text))
,但我可以在 chrome 控制台中获取文本吗?
can I get the text in chrome console?
是什么意思
抱歉,我的英文不太好。我的意思是在调试器 Chrome 浏览器的控制台中输出文本。我正在尝试输出response.text()
,它是一个Promise
对象,我可以直接在控制台中获取文本(不是Promise
对象)吗?
【参考方案1】:
这就是你想怎么做就怎么做。就我而言,我想手动解析 JSON,因为内置 JSON 解析器不正确地解析了某个字符 (\u001e)。
更改自:
fetch(url)
.then(response => response.json())
.then((data) =>
data....
到:
fetch(url)
.then(response => response.text())
.then((dataStr) =>
let data = JSON.parse(dataStr);
data...
【讨论】:
以上是关于Fetch API 从响应中获取原始值的主要内容,如果未能解决你的问题,请参考以下文章
React-native fetch Api 获取响应不同于调试模式和普通模式