Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
github
fetch
提交
9b1ddc9e
F
fetch
项目概览
github
/
fetch
10 个月 前同步成功
通知
30
Star
25765
Fork
3216
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
F
fetch
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
9b1ddc9e
编写于
1月 05, 2015
作者:
J
Joshua Peek
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #54 from github/optional-form-data-support
Mark FormData support as optional
上级
c7604e12
8f616617
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
37 addition
and
28 deletion
+37
-28
fetch.js
fetch.js
+14
-3
test/.jshintrc
test/.jshintrc
+3
-0
test/test.js
test/test.js
+20
-25
未找到文件。
fetch.js
浏览文件 @
9b1ddc9e
...
...
@@ -76,9 +76,20 @@
throw
new
Error
(
'
Not implemented yet
'
)
}
this
.
blob
=
function
()
{
var
rejected
=
consumed
(
this
)
return
rejected
?
rejected
:
Promise
.
resolve
(
new
Blob
([
this
.
_body
]))
var
blobSupport
=
(
function
()
{
try
{
new
Blob
();
return
true
}
catch
(
e
)
{
return
false
}
})();
if
(
blobSupport
)
{
this
.
blob
=
function
()
{
var
rejected
=
consumed
(
this
)
return
rejected
?
rejected
:
Promise
.
resolve
(
new
Blob
([
this
.
_body
]))
}
}
this
.
formData
=
function
()
{
...
...
test/.jshintrc
浏览文件 @
9b1ddc9e
...
...
@@ -21,6 +21,9 @@
"MockXHR": false,
"QUnit": false,
"fetch": false,
"Headers": false,
"Request": false,
"Response": false,
"module": false,
"test": false,
"asyncTest": false,
...
...
test/test.js
浏览文件 @
9b1ddc9e
var
blobSupport
=
(
function
()
{
try
{
new
Blob
();
return
true
}
catch
(
e
)
{
return
false
}
})();
promiseTest
(
'
populates response body
'
,
2
,
function
()
{
return
fetch
(
'
/hello
'
).
then
(
function
(
response
)
{
equal
(
response
.
status
,
200
)
...
...
@@ -72,13 +63,15 @@ promiseTest('resolves text promise', 1, function() {
})
})
promiseTest
(
'
parses form encoded response
'
,
1
,
function
()
{
return
fetch
(
'
/form
'
).
then
(
function
(
response
)
{
return
response
.
formData
()
}).
then
(
function
(
form
)
{
ok
(
form
instanceof
FormData
,
'
Parsed a FormData object
'
)
if
(
Response
.
prototype
.
formData
)
{
promiseTest
(
'
parses form encoded response
'
,
1
,
function
()
{
return
fetch
(
'
/form
'
).
then
(
function
(
response
)
{
return
response
.
formData
()
}).
then
(
function
(
form
)
{
ok
(
form
instanceof
FormData
,
'
Parsed a FormData object
'
)
})
})
}
)
}
promiseTest
(
'
parses json response
'
,
2
,
function
()
{
return
fetch
(
'
/json
'
).
then
(
function
(
response
)
{
...
...
@@ -98,7 +91,7 @@ promiseTest('handles json parse error', 2, function() {
})
})
if
(
blobSupport
)
{
if
(
Response
.
prototype
.
blob
)
{
promiseTest
(
'
resolves blob promise
'
,
2
,
function
()
{
return
fetch
(
'
/hello
'
).
then
(
function
(
response
)
{
return
response
.
blob
()
...
...
@@ -121,7 +114,7 @@ promiseTest('post sets content-type header', 2, function() {
})
})
if
(
blobSupport
)
{
if
(
Response
.
prototype
.
blob
)
{
promiseTest
(
'
rejects blob promise after body is consumed
'
,
2
,
function
()
{
return
fetch
(
'
/hello
'
).
then
(
function
(
response
)
{
ok
(
response
.
blob
,
'
Body does not implement blob
'
)
...
...
@@ -153,15 +146,17 @@ promiseTest('rejects text promise after body is consumed', 2, function() {
})
})
promiseTest
(
'
rejects formData promise after body is consumed
'
,
2
,
function
()
{
return
fetch
(
'
/json
'
).
then
(
function
(
response
)
{
ok
(
response
.
formData
,
'
Body does not implement formData
'
)
response
.
formData
()
return
response
.
formData
()
}).
catch
(
function
(
error
)
{
ok
(
error
instanceof
TypeError
,
'
Promise rejected after body consumed
'
)
if
(
Response
.
prototype
.
formData
)
{
promiseTest
(
'
rejects formData promise after body is consumed
'
,
2
,
function
()
{
return
fetch
(
'
/json
'
).
then
(
function
(
response
)
{
ok
(
response
.
formData
,
'
Body does not implement formData
'
)
response
.
formData
()
return
response
.
formData
()
}).
catch
(
function
(
error
)
{
ok
(
error
instanceof
TypeError
,
'
Promise rejected after body consumed
'
)
})
})
}
)
}
promiseTest
(
'
supports HTTP PUT
'
,
2
,
function
()
{
return
fetch
(
'
/request
'
,
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录