Request.text()(以及从Body实现的其他功能)实际上是做什么的?

卡雷尔·比列克(KarelBílek)

根据它的MDN描述Request已实现了Body诸如的功能text()但是,我不知道这些功能实际上是做什么的。他们似乎什么也没做。

我有这样的代码

var r = new Request('http://google.com');
r.text().then(function(text) {
    alert(JSON.stringify(text));
}, function(error) {
    alert("error");
});

发生的情况是,promise立即以空字符串解析,并且没有任何请求发生-如果您在开发工具(或wireshark)中查看Network活动,则不会发生实际请求。但是也没有错误。

到底是怎么回事?BodyAPI的目的是什么?

MDN上的描述是关于“响应流”的,但没有响应(因为还没有实际的获取)。 (编辑:由于我回答了自己的问题,因此我还编辑了MDN页面,因此现在很有意义。)

规格说明如下:

给定类型的请求对象的消耗主体算法运行以下步骤:

  1. 如果此Request对象被打扰,则返回一个新的Promise,它被TypeError拒绝。

  2. 设置受干扰的标志。

  3. 让p成为一个新的承诺。

  4. 并行运行这些子步骤:

    1. 令字节为空字节序列。

    2. 如果请求的主体不为null,则将字节设置为从请求的主体读取的结果,直到它返回流的末尾。

    3. 通过使用字节,类型和MIME类型运行包数据算法的结果来解析p。如果抛出异常,则拒绝带有该异常的p。

  5. 返回p。

我不是很聪明。

(注:我知道,我所问的是一个非常详细的问题,我不是问什么。fetch/ Response/Request不一般。)

卡雷尔·比列克(KarelBílek)

实际上,可以向请求添加一些主体,以此类推,.text()将返回请求主体

一个简单的例子:

// method cannot be GET for custom body
var r = new Request('http://google.com', {method: 'POST', body: "something"}); 
r.text().then(function(text) {
    alert(JSON.stringify(text)); // alerts "something"
}, function(error) {
    alert("error");
});

基本上就是这样。问题中的示例没有正文,因此使用空字符串进行解析。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

此功能实际上是做什么的?

来自分类Dev

Kubernetes实际上是做什么的?

来自分类Dev

->>实际上是做什么的?

来自分类Dev

urllib.request.urlopen()是做什么的?

来自分类Dev

“键入时隐藏指针”功能实际上是做什么的?

来自分类Dev

cURL上的-u标志实际上是做什么的?

来自分类Dev

gitpod是什么:它实际上是做什么的?

来自分类Dev

debug和packageName字段实际上是做什么的?

来自分类Dev

@Basic批注实际上是做什么的?

来自分类Dev

Apache Mesos实际上是做什么的?

来自分类Dev

SAFESEH:NO选项实际上是做什么的

来自分类Dev

session_register_shutdown实际上是做什么的?

来自分类Dev

NSString的isLike:实际上是做什么的?

来自分类Dev

to_i参数库实际上是做什么的?

来自分类Dev

JUnit 4 @Test批注实际上是做什么的

来自分类Dev

printf或任何输出函数实际上是做什么的?

来自分类Dev

do-release-upgrade实际上是做什么的?

来自分类Dev

百胜实际上是做什么的?

来自分类Dev

std :: vector :: swap实际上是做什么的?

来自分类Dev

avs-vault实际上是用来做什么的?

来自分类Dev

ServletResponse的setContentLength()方法实际上是做什么的?

来自分类Dev

“ MOV AX,[BX]”实际上是做什么的?

来自分类Dev

百胜实际上是做什么的?

来自分类Dev

“ GET_ACCOUNTS”实际上是做什么的?

来自分类Dev

do-release-upgrade实际上是做什么的?

来自分类Dev

“ omega”在这里实际上是做什么的?

来自分类Dev

/ dev中的设备文件实际上是做什么的?

来自分类Dev

Xtend在Eclipse中实际上是做什么的?

来自分类Dev

固件包:它们实际上是做什么的?

Related 相关文章

热门标签

归档