从 fetch -> promise -> response 获取数据
Posted
技术标签:
【中文标题】从 fetch -> promise -> response 获取数据【英文标题】:Get the data from fetch -> promise -> response 【发布时间】:2016-11-17 14:42:28 【问题描述】:我正在尝试向服务器发布一些数据,但我不知道如何取回响应数据。
我有以下代码:
fetch(url,
method: 'POST',
headers:
'Accept': 'application/json',
'Content-Type': 'application/json'
,
body: JSON.stringify(
email: login,
password: password,
)
).then(function(a)
console.log(a);
)
它打印一个Response
它包含诸如body (ReadableByteStream)、bodyUsed (false)、ok (true)、status (200)等数据...
但我找不到我找回的数据,无处可去。当我打开 chrome 开发者控制台 - 网络时,我会在那里看到响应数据。
我做错了什么?
我一直在寻找一些关于 fetch、promise 等如何工作的资源,但我找不到任何写得好的。
【问题讨论】:
fetch Promise never gets executed的可能重复 【参考方案1】:您可以在获取响应上调用其他方法,例如 .json()
或 .blob()
。这些方法返回一个你可以调用.then()
的promise。
fetch(url,
method: 'POST',
headers:
'Accept': 'application/json',
'Content-Type': 'application/json'
,
body: JSON.stringify(
email: login,
password: password,
)
)
.then(function (a)
return a.json(); // call the json method on the response to get JSON
)
.then(function (json)
console.log(json)
)
查看some documentation on using fetch,以及其他一些关于response object works 如何在提取调用中的文档。
【讨论】:
以上是关于从 fetch -> promise -> response 获取数据的主要内容,如果未能解决你的问题,请参考以下文章
.then() 在嵌套的 promise.all 和 fetch 完成之前执行