Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
c5fff295
D
Docs
项目概览
OpenHarmony
/
Docs
大约 2 年 前同步成功
通知
161
Star
293
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
c5fff295
编写于
3月 10, 2023
作者:
Y
Yangys
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix the interface description for dts
Signed-off-by:
N
Yangys
<
yangyousheng@huawei.com
>
上级
7096dff2
变更
7
展开全部
显示空白变更内容
内联
并排
Showing
7 changed file
with
413 addition
and
294 deletion
+413
-294
zh-cn/application-dev/connectivity/http-request.md
zh-cn/application-dev/connectivity/http-request.md
+0
-82
zh-cn/application-dev/connectivity/socket-connection.md
zh-cn/application-dev/connectivity/socket-connection.md
+206
-8
zh-cn/application-dev/reference/apis/js-apis-http.md
zh-cn/application-dev/reference/apis/js-apis-http.md
+44
-44
zh-cn/application-dev/reference/apis/js-apis-socket.md
zh-cn/application-dev/reference/apis/js-apis-socket.md
+110
-107
zh-cn/application-dev/reference/apis/js-apis-system-fetch.md
zh-cn/application-dev/reference/apis/js-apis-system-fetch.md
+3
-3
zh-cn/application-dev/reference/apis/js-apis-system-network.md
.../application-dev/reference/apis/js-apis-system-network.md
+3
-3
zh-cn/application-dev/reference/apis/js-apis-webSocket.md
zh-cn/application-dev/reference/apis/js-apis-webSocket.md
+47
-47
未找到文件。
zh-cn/application-dev/connectivity/http-request.md
浏览文件 @
c5fff295
...
...
@@ -90,88 +90,6 @@ httpRequest.request(
);
```
## request2接口开发步骤
1.
从@ohos.net.http.d.ts中导入http命名空间。
2.
调用createHttp()方法,创建一个HttpRequest2对象。
3.
调用该对象的on()方法,订阅HTTP流式响应相关事件,此接口会比request请求先返回。可以根据业务需要订阅此消息。
4.
调用该对象的request2()方法,传入http请求的url地址和可选参数,发起网络请求。
5.
调用该对象的off()方法,取消订阅http响应头事件。
6.
当该请求使用完毕时,调用destroy()方法主动销毁。
```
js
// 引入包名
import
http
from
'
@ohos.net.http
'
;
// 每一个httpRequest对应一个HTTP请求任务,不可复用
let
httpRequest2
=
http
.
createHttp
();
// 订阅HTTP流式响应数据接收事件的回调函数
function
dataReceive_on_callback
(
data
)
{
console
.
info
(
"
request2_dataReceive callback function receive len:
"
+
JSON
.
stringify
(
data
.
byteLength
));
}
// 订阅HTTP流式响应数据接收进度事件的回调函数
function
dataEnd_on_callback
()
{
console
.
info
(
`request2_dataEnd callback function`
);
}
// 订阅HTTP流式响应数据接收完毕事件的回调函数
function
dataProgress_on_callback
(
data
)
{
console
.
info
(
"
request2_dataProgress callback function receive dataProgress:
"
+
JSON
.
stringify
(
data
));
}
try
{
// 用于订阅HTTP响应头,此接口会比request2请求先返回。可以根据业务需要订阅此消息
// 从API 10开始,支持订阅HTTP流式响应相关事件
// 订阅HTTP流式响应数据接收事件
httpRequest2
.
on
(
"
dataReceive
"
,
dataReceive_on_callback
);
// 订阅HTTP流式响应数据接收进度事件
httpRequest2
.
on
(
"
dataProgress
"
,
dataProgress_on_callback
);
// 订阅HTTP流式响应数据接收完毕事件
httpRequest2
.
on
(
"
dataEnd
"
,
dataEnd_on_callback
);
httpRequest2
.
request2
(
// 填写HTTP请求的URL地址,可以带参数也可以不带参数。URL地址需要开发者自定义。请求的参数可以在extraData中指定
"
EXAMPLE_URL
"
,
{
method
:
http
.
RequestMethod
.
POST
,
// 可选,默认为http.RequestMethod.GET
// 开发者根据自身业务需要添加header字段
header
:
{
'
Content-Type
'
:
'
application/json
'
},
// 当使用POST请求时此字段用于传递内容
extraData
:
{
"
data
"
:
"
data to send
"
,
},
expectDataType
:
http
.
HttpDataType
.
STRING
,
// 可选,指定返回数据的类型
usingCache
:
true
,
// 可选,默认为true
priority
:
1
,
// 可选,默认为1
connectTimeout
:
60000
,
// 可选,默认为60000ms
readTimeout
:
60000
,
// 可选,默认为60000ms
usingProtocol
:
http
.
HttpProtocol
.
HTTP1_1
,
// 可选,协议类型默认值由系统自动指定
usingProxy
:
false
,
//可选,默认不使用网络代理,自API 10开始支持该属性
}).
then
(
function
()
{
console
.
info
(
"
request2 OK!
"
);
// 订阅HTTP流式响应数据接收事件
httpRequest2
.
off
(
"
dataReceive
"
);
console
.
info
(
"
off dataReceive success!
"
);
// 订阅HTTP流式响应数据接收进度事件
httpRequest2
.
off
(
"
dataProgress
"
);
console
.
info
(
"
off dataProgress success!
"
);
// 订阅HTTP流式响应数据接收完毕事件
httpRequest2
.
off
(
"
dataEnd
"
);
console
.
info
(
"
off dataEnd success!
"
);
// 当该请求使用完毕时,调用destroy方法主动销毁
httpRequest2
.
destroy
();
}).
catch
(
function
(
err
)
{
console
.
info
(
"
request2 ERROR :
"
+
JSON
.
stringify
(
err
));
});
}
catch
(
error
)
{
console
.
info
(
"
request2 ERROR :
"
+
JSON
.
stringify
(
error
));
}
```
## 相关实例
针对HTTP数据请求,有以下相关实例可供参考:
-
[
`Http:`数据请求(ArkTS)(API9))
](
https://gitee.com/openharmony/applications_app_samples/tree/master/code/BasicFeature/Connectivity/Http
)
...
...
zh-cn/application-dev/connectivity/socket-connection.md
浏览文件 @
c5fff295
# Socket连接
## 简介
Socket连接主要是通过Socket进行数据传输,支持TCP/UDP/TLS协议。
## 基本概念
-
Socket:套接字,就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。
-
TCP:传输控制协议(Transmission Control Protocol)。是一种面向连接的、可靠的、基于字节流的传输层通信协议。
-
UDP:用户数据报协议协议(User Datagram Protocol)。是一个简单的面向消息的传输层,不需要连接。
-
TLS:安全传输层协议(Transport Layer Security)。用于在两个通信应用程序之间提供保密性和数据完整性。
## 场景介绍
应用通过Socket进行数据传输,支持TCP
和UDP两种协议。
应用通过Socket进行数据传输,支持TCP
/UDP/TLS协议。主要场景有:
-
应用通过TCP/UDP Socket进行数据传输
-
应用通过TLS Socket进行加密数据传输
## 接口说明
完整的JS API说明以及实例代码请参考:
[
Socket连接
](
../reference/apis/js-apis-socket.md
)
。
Socket连接主要由socket模块提供。具体接口说明如下表。
| 接口名 | 功能描述 |
...
...
@@ -31,8 +45,31 @@ Socket连接主要由socket模块提供。具体接口说明如下表。
| on(type:
'connect') | 订阅TCPSocket的连接事件(仅TCP支持)。 |
| off(type:
'connect') | 取消订阅TCPSocket的连接事件(仅TCP支持)。 |
TLS Socket连接主要由tls_socket模块提供。具体接口说明如下表。
## 开发步骤
| 接口名 | 功能描述 |
| -------- | -------- |
| constructTLSSocketInstance() | 创建一个TLSSocket对象。 |
| bind() | 绑定IP地址和端口号。 |
| close(type:
'error') | 关闭连接。 |
| connect() | 连接到指定的IP地址和端口。 |
| getCertificate() | 返回表示本地证书的对象。 |
| getCipherSuite() | 返回包含协商的密码套件信息的列表。 |
| getProtocol() | 返回包含当前连接协商的SSL/TLS协议版本的字符串。 |
| getRemoteAddress() | 获取TLSSocket连接的对端地址。 |
| getRemoteCertificate() | 返回表示对等证书的对象。 |
| getSignatureAlgorithms() | 在服务器和客户端之间共享的签名算法列表,按优先级降序排列。 |
| getState() | 获取TLSSocket连接的状态。 |
| off(type:
'close') | 取消订阅TLSSocket连接的关闭事件。 |
| off(type:
'error') | 取消订阅TLSSocket连接的Error事件。 |
| off(type:
'message') | 取消订阅TLSSocket连接的接收消息事件。 |
| on(type:
'close') | 订阅TLSSocket连接的关闭事件。 |
| on(type:
'error') | 订阅TLSSocket连接的Error事件。 |
| on(type:
'message') | 订阅TLSSocket连接的接收消息事件。 |
| send() | 发送数据。 |
| setExtraOptions() | 设置TLSSocket连接的其他属性。 |
## 应用TCP/UDP协议进行通信
UDP与TCP流程大体类似,下面以TCP为例:
...
...
@@ -86,6 +123,7 @@ UDP与TCP流程大体类似,下面以TCP为例:
return
;
}
console
.
log
(
'
bind success
'
);
// 连接到指定的IP地址和端口。
let
connectAddress
=
{
address
:
'
192.168.xx.xx
'
,
...
...
@@ -100,6 +138,7 @@ UDP与TCP流程大体类似,下面以TCP为例:
return
;
}
console
.
log
(
'
connect success
'
);
// 发送数据
tcp
.
send
({
data
:
'
Hello, server!
'
...
...
@@ -112,6 +151,7 @@ UDP与TCP流程大体类似,下面以TCP为例:
})
});
});
// 连接使用完毕后,主动关闭。取消相关事件的订阅。
setTimeout
(()
=>
{
tcp
.
close
((
err
)
=>
{
...
...
@@ -123,8 +163,166 @@ UDP与TCP流程大体类似,下面以TCP为例:
},
30
*
1000
);
```
## 应用通过TLS Socket进行加密数据传输
### 开发步骤
客户端TLS Socket流程:
1.
import需要的socket模块。
2.
绑定服务器IP和端口号。
3.
双向认证上传客户端CA证书及数字证书;单向认证上传客户端CA证书。
4.
创建一个TLSSocket连接,返回一个TLSSocket对象。
5.
(可选)订阅TLSSocket相关的订阅事件。
6.
发送数据。
7.
TLSSocket连接使用完毕后,主动关闭。
```
js
import
socket
from
'
@ohos.net.socket
'
// 创建一个(双向认证)TLS Socket连接,返回一个TLS Socket对象。
let
tlsTwoWay
=
socket
.
constructTLSSocketInstance
();
// 订阅TLS Socket相关的订阅事件
tcp
.
on
(
'
message
'
,
value
=>
{
console
.
log
(
"
on message
"
)
let
buffer
=
value
.
message
let
dataView
=
new
DataView
(
buffer
)
let
str
=
""
for
(
let
i
=
0
;
i
<
dataView
.
byteLength
;
++
i
)
{
str
+=
String
.
fromCharCode
(
dataView
.
getUint8
(
i
))
}
console
.
log
(
"
on connect received:
"
+
str
)
});
tcp
.
on
(
'
connect
'
,
()
=>
{
console
.
log
(
"
on connect
"
)
});
tcp
.
on
(
'
close
'
,
()
=>
{
console
.
log
(
"
on close
"
)
});
// 绑定本地IP地址和端口。
tlsTwoWay
.
bind
({
address
:
'
192.168.xxx.xxx
'
,
port
:
xxxx
,
family
:
1
},
err
=>
{
if
(
err
)
{
console
.
log
(
'
bind fail
'
);
return
;
}
console
.
log
(
'
bind success
'
);
});
// 设置通信过程中使用参数
let
options
=
{
ALPNProtocols
:
[
"
spdy/1
"
,
"
http/1.1
"
],
// 连接到指定的IP地址和端口。
address
:
{
address
:
"
192.168.xx.xxx
"
,
port
:
xxxx
,
// 端口
family
:
1
,
},
// 设置用于通信过程中完成校验的参数。
secureOptions
:
{
key
:
"
xxxx
"
,
// 密钥
cert
:
"
xxxx
"
,
// 数字证书
ca
:
[
"
xxxx
"
],
// CA证书
passwd
:
"
xxxx
"
,
// 生成密钥时的密码
protocols
:
[
socket
.
Protocol
.
TLSv12
],
// 通信协议
useRemoteCipherPrefer
:
true
,
// 是否优先使用对端密码套件
signatureAlgorithms
:
"
rsa_pss_rsae_sha256:ECDSA+SHA256
"
,
// 签名算法
cipherSuite
:
"
AES256-SHA256
"
,
// 密码套件
},
};
// 建立连接
tlsTwoWay
.
connect
(
options
,
(
err
,
data
)
=>
{
console
.
error
(
err
);
console
.
log
(
data
);
});
// 连接使用完毕后,主动关闭。取消相关事件的订阅。
tls
.
close
((
err
)
=>
{
if
(
err
)
{
console
.
log
(
"
close callback error =
"
+
err
);
}
else
{
console
.
log
(
"
close success
"
);
}
tls
.
off
(
'
message
'
);
tls
.
off
(
'
connect
'
);
tls
.
off
(
'
close
'
);
});
// 创建一个(单向认证)TLS Socket连接,返回一个TLS Socket对象。
let
tlsOneWay
=
socket
.
constructTLSSocketInstance
();
// One way authentication
// 订阅TLS Socket相关的订阅事件
tcp
.
on
(
'
message
'
,
value
=>
{
console
.
log
(
"
on message
"
)
let
buffer
=
value
.
message
let
dataView
=
new
DataView
(
buffer
)
let
str
=
""
for
(
let
i
=
0
;
i
<
dataView
.
byteLength
;
++
i
)
{
str
+=
String
.
fromCharCode
(
dataView
.
getUint8
(
i
))
}
console
.
log
(
"
on connect received:
"
+
str
)
});
tcp
.
on
(
'
connect
'
,
()
=>
{
console
.
log
(
"
on connect
"
)
});
tcp
.
on
(
'
close
'
,
()
=>
{
console
.
log
(
"
on close
"
)
});
// 绑定本地IP地址和端口。
tlsOneWay
.
bind
({
address
:
'
192.168.xxx.xxx
'
,
port
:
xxxx
,
family
:
1
},
err
=>
{
if
(
err
)
{
console
.
log
(
'
bind fail
'
);
return
;
}
console
.
log
(
'
bind success
'
);
});
// 设置通信过程中使用参数
let
oneWayOptions
=
{
address
:
{
address
:
"
192.168.xxx.xxx
"
,
port
:
xxxx
,
family
:
1
,
},
secureOptions
:
{
ca
:
[
"
xxxx
"
,
"
xxxx
"
],
// CA证书
cipherSuite
:
"
AES256-SHA256
"
,
// 密码套件
},
};
// 建立连接
tlsOneWay
.
connect
(
oneWayOptions
,
(
err
,
data
)
=>
{
console
.
error
(
err
);
console
.
log
(
data
);
});
// 连接使用完毕后,主动关闭。取消相关事件的订阅。
tls
.
close
((
err
)
=>
{
if
(
err
)
{
console
.
log
(
"
close callback error =
"
+
err
);
}
else
{
console
.
log
(
"
close success
"
);
}
tls
.
off
(
'
message
'
);
tls
.
off
(
'
connect
'
);
tls
.
off
(
'
close
'
);
});
```
## 相关实例
针对Socket连接开发,有以下相关实例可供参考:
-
[
`Socket`:Socket 连接(ArkTS)(API9)
](
https://gitee.com/openharmony/applications_app_samples/tree/m
onthly_20221018
/Network/Socket
)
-
[
`Socket`:Socket 连接(ArkTS)(API9)
](
https://gitee.com/openharmony/applications_app_samples/tree/m
aster
/Network/Socket
)
-
[
使用UDP实现与服务端通信(ArkTS)(API9)
](
https://gitee.com/openharmony/codelabs/tree/master/NetworkManagement/UdpDemoOH
)
-
[
使用TCP实现与服务端通信(ArkTS)(API9)
](
https://gitee.com/openharmony/codelabs/tree/master/NetworkManagement/TcpSocketDemo
)
zh-cn/application-dev/reference/apis/js-apis-http.md
浏览文件 @
c5fff295
...
...
@@ -67,7 +67,7 @@ httpRequest.request(
## http.createHttp
createHttp
\(\
)
: HttpRequest
createHttp
(
): HttpRequest
创建一个HTTP请求,里面包括发起请求、中断请求、订阅/取消订阅HTTP Response Header事件。每一个HttpRequest对象对应一个HTTP请求。如需发起多个HTTP请求,须为每个HTTP请求创建对应HttpRequest对象。
...
...
@@ -88,11 +88,11 @@ let httpRequest = http.createHttp();
## HttpRequest
HTTP请求任务。在调用HttpRequest的方法前,需要先通过
[
createHttp
\(\
)
](
#httpcreatehttp
)
创建一个任务。
HTTP请求任务。在调用HttpRequest的方法前,需要先通过
[
createHttp
(
)
](
#httpcreatehttp
)
创建一个任务。
### request
request
\(
url: string, callback: AsyncCallback
\<
HttpResponse
\>\
)
:void
request
(url: string, callback: AsyncCallback
\<
HttpResponse
\>
):void
根据URL地址,发起HTTP网络请求,使用callback方式作为异步方法。
...
...
@@ -140,7 +140,7 @@ httpRequest.request("EXAMPLE_URL", (err, data) => {
### request
request
\(
url: string, options: HttpRequestOptions, callback: AsyncCallback
\<
HttpResponse
\>\
)
:void
request
(url: string, options: HttpRequestOptions, callback: AsyncCallback
\<
HttpResponse
\>
):void
根据URL地址和相关配置项,发起HTTP网络请求,使用callback方式作为异步方法。
...
...
@@ -223,7 +223,7 @@ httpRequest.request("EXAMPLE_URL",
### request
request
\(
url: string, options? : HttpRequestOptions
\
)
: Promise
\<
HttpResponse
\>
request
(url: string, options? : HttpRequestOptions
): Promise
\<
HttpResponse
\>
根据URL地址,发起HTTP网络请求,使用Promise方式作为异步方法。
...
...
@@ -309,7 +309,7 @@ promise.then((data) => {
### destroy
destroy
\(\
)
: void
destroy
(
): void
中断请求任务。
...
...
@@ -323,7 +323,7 @@ httpRequest.destroy();
### request2<sup>10+</sup>
request2(url: string, callback: AsyncCallback
<void
>
): void
request2(url: string, callback: AsyncCallback
\<
void
\
>
): void
根据URL地址和相关配置项,发起HTTP网络请求并返回流式响应,使用callback方式作为异步方法。
...
...
@@ -359,7 +359,7 @@ request2(url: string, callback: AsyncCallback<void>): void
```
js
httpRequest
.
request2
(
"
EXAMPLE_URL
"
,
(
err
)
=>
{
if
(
!
err
)
{
console
.
info
(
request2
OK
!
);
console
.
info
(
"
request2 OK!
"
);
}
else
{
console
.
info
(
"
request2 ERROR : err =
"
+
JSON
.
stringify
(
err
));
}
...
...
@@ -368,7 +368,7 @@ httpRequest.request2("EXAMPLE_URL", (err) => {
### request2<sup>10+</sup>
request2(url: string, options: HttpRequestOptions, callback: AsyncCallback
<void
>
): void
request2(url: string, options: HttpRequestOptions, callback: AsyncCallback
\<
void
\
>
): void
根据URL地址和相关配置项,发起HTTP网络请求并返回流式响应,使用callback方式作为异步方法。
...
...
@@ -437,7 +437,7 @@ httpRequest.request2("EXAMPLE_URL",
connectTimeout
:
60000
},
(
err
)
=>
{
if
(
!
err
)
{
console
.
info
(
request2
OK
!
);
console
.
info
(
"
request2 OK!
"
);
}
else
{
console
.
info
(
"
request2 ERROR : err =
"
+
JSON
.
stringify
(
err
));
}
...
...
@@ -445,7 +445,7 @@ httpRequest.request2("EXAMPLE_URL",
```
### request2<sup>10+</sup>
request2
\(
url: string, options? : HttpRequestOptions
\
)
: Promise
\<
void
\>
request2
(url: string, options? : HttpRequestOptions
): Promise
\<
void
\>
根据URL地址,发起HTTP网络请求并返回流式响应,使用Promise方式作为异步方法。
...
...
@@ -518,20 +518,20 @@ let promise = httpRequest.request("EXAMPLE_URL", {
}
});
promise
.
then
(()
=>
{
console
.
info
(
request2
OK
!
);
console
.
info
(
"
request2 OK!
"
);
}).
catch
((
err
)
=>
{
console
.
info
(
"
request2 ERROR : err =
"
+
JSON
.
stringify
(
err
));
});
```
### on
\('headerReceive'\
)
### on
('headerReceive'
)
on
\(
type: 'headerReceive', callback: AsyncCallback<Object
\>\
)
: void
on
(type: 'headerReceive', callback: AsyncCallback
\<
Object
\>
): void
订阅HTTP Response Header 事件。
> **说明:**
>此接口已废弃,建议使用[on
\('headersReceive'\
)<sup>8+</sup>](#onheadersreceive8)替代。
>此接口已废弃,建议使用[on
('headersReceive'
)<sup>8+</sup>](#onheadersreceive8)替代。
**系统能力**
:SystemCapability.Communication.NetStack
...
...
@@ -554,15 +554,15 @@ httpRequest.on('headerReceive', (err, data) => {
});
```
### off
\('headerReceive'\
)
### off
('headerReceive'
)
off
\(
type: 'headerReceive', callback?: AsyncCallback<Object
\>\
)
: void
off
(type: 'headerReceive', callback?: AsyncCallback
\<
Object
\>
): void
取消订阅HTTP Response Header 事件。
> **说明:**
>
>1. 此接口已废弃,建议使用[off
\('headersReceive'\
)<sup>8+</sup>](#offheadersreceive8)替代。
>1. 此接口已废弃,建议使用[off
('headersReceive'
)<sup>8+</sup>](#offheadersreceive8)替代。
>
>2. 可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
...
...
@@ -581,9 +581,9 @@ off\(type: 'headerReceive', callback?: AsyncCallback<Object\>\): void
httpRequest
.
off
(
'
headerReceive
'
);
```
### on
\('headersReceive'\
)<sup>8+</sup>
### on
('headersReceive'
)<sup>8+</sup>
on
\(
type: 'headersReceive', callback: Callback<Object
\>\
)
: void
on
(type: 'headersReceive', callback: Callback
\<
Object
\>
): void
订阅HTTP Response Header 事件。
...
...
@@ -604,9 +604,9 @@ httpRequest.on('headersReceive', (header) => {
});
```
### off
\('headersReceive'\
)<sup>8+</sup>
### off
('headersReceive'
)<sup>8+</sup>
off
\(
type: 'headersReceive', callback?: Callback<Object
\>\
)
: void
off
(type: 'headersReceive', callback?: Callback
\<
Object
\>
): void
取消订阅HTTP Response Header 事件。
...
...
@@ -628,9 +628,9 @@ off\(type: 'headersReceive', callback?: Callback<Object\>\): void
httpRequest
.
off
(
'
headersReceive
'
);
```
### once
\('headersReceive'\
)<sup>8+</sup>
### once
('headersReceive'
)<sup>8+</sup>
once
\(
type: 'headersReceive', callback: Callback<Object
\>\
)
: void
once
(type: 'headersReceive', callback: Callback
\<
Object
\>
): void
订阅HTTP Response Header 事件,但是只触发一次。一旦触发之后,订阅器就会被移除。使用callback方式作为异步方法。
...
...
@@ -650,9 +650,9 @@ httpRequest.once('headersReceive', (header) => {
console
.
info
(
'
header:
'
+
JSON
.
stringify
(
header
));
});
```
### on
\('dataReceive'\
)<sup>10+</sup>
### on
('dataReceive'
)<sup>10+</sup>
on
\(
type: 'dataReceive', callback: Callback
\<
ArrayBuffer
\>\
)
: void
on
(type: 'dataReceive', callback: Callback
\<
ArrayBuffer
\>
): void
订阅HTTP流式响应数据接收事件。
...
...
@@ -673,9 +673,9 @@ httpRequest.on('dataReceive', (data) => {
});
```
### off
\('dataReceive'\
)<sup>10+</sup>
### off
('dataReceive'
)<sup>10+</sup>
off
\(
type: 'dataReceive', callback?: Callback
\<
ArrayBuffer
\>\
)
: void
off
(type: 'dataReceive', callback?: Callback
\<
ArrayBuffer
\>
): void
取消订阅HTTP流式响应数据接收事件。
...
...
@@ -697,9 +697,9 @@ off\(type: 'dataReceive', callback?: Callback\<ArrayBuffer\>\): void
httpRequest
.
off
(
'
dataReceive
'
);
```
### on
\('dataEnd'\
)<sup>10+</sup>
### on
('dataEnd'
)<sup>10+</sup>
on
\(
type: 'dataEnd', callback: Callback
\<
void
\>\
)
: void
on
(type: 'dataEnd', callback: Callback
\<
void
\>
): void
订阅HTTP流式响应数据接收完毕事件。
...
...
@@ -720,7 +720,7 @@ httpRequest.on('dataReceive', () => {
});
```
### off
\('dataEnd'\
)<sup>10+</sup>
### off
('dataEnd'
)<sup>10+</sup>
off(type: 'dataEnd', callback?: Callback
\<
void
\>
): void
...
...
@@ -744,9 +744,9 @@ off(type: 'dataEnd', callback?: Callback\<void\>): void
httpRequest
.
off
(
'
dataEnd
'
);
```
### on
\('dataProgress'\
)<sup>10+</sup>
### on
('dataProgress'
)<sup>10+</sup>
on
\(
type: 'dataProgress', callback: Callback
\<
{ receiveSize: number, totalSize: number }
\>\
)
: void
on
(type: 'dataProgress', callback: Callback
\<
{ receiveSize: number, totalSize: number }
\>
): void
订阅HTTP流式响应数据接收进度事件。
...
...
@@ -757,7 +757,7 @@ httpRequest.off('dataEnd');
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | --------------------------------- |
| type | string | 是 | 订阅的事件类型,'dataProgress'。 |
| callback | AsyncCallback
\<
{ receiveSize: number, totalSize: number }
\>
| 是 | 回调函数。
|
| callback | AsyncCallback
\<
{ receiveSize: number, totalSize: number }
\>
| 是 | 回调函数。
<br>
receiveSize:已接收的数据字节数,totalSize待接收的字节总数
|
**示例:**
...
...
@@ -769,7 +769,7 @@ httpRequest.on('dataProgress', (data) => {
});
```
### off
\('dataProgress'\
)<sup>10+</sup>
### off
('dataProgress'
)<sup>10+</sup>
off(type: 'dataProgress', callback?: Callback
\<
{ receiveSize: number, totalSize: number }
\>
): void
...
...
@@ -919,7 +919,7 @@ let httpResponseCache = http.createHttpResponseCache();
### flush<sup>9+</sup>
flush(callback: AsyncCallback
\<
void>): void
flush(callback: AsyncCallback
\<
void
\
>
): void
将缓存中的数据写入文件系统,以便在下一个HTTP请求中访问所有缓存数据,使用callback方式作为异步方法。
...
...
@@ -929,7 +929,7 @@ flush(callback: AsyncCallback\<void>): void
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------------------- | ---- | ---------- |
| callback | AsyncCallback
\<
void> | 是 | 回调函数返回写入结果。 |
| callback | AsyncCallback
\<
void
\
>
| 是 | 回调函数返回写入结果。 |
**示例:**
...
...
@@ -945,7 +945,7 @@ httpResponseCache.flush(err => {
### flush<sup>9+</sup>
flush(): Promise
\<
void>
flush(): Promise
\<
void
\
>
将缓存中的数据写入文件系统,以便在下一个HTTP请求中访问所有缓存数据,使用Promise方式作为异步方法。
...
...
@@ -955,7 +955,7 @@ flush(): Promise\<void>
| 类型 | 说明 |
| --------------------------------- | ------------------------------------- |
| Promise
\<
void
>
> | 以Promise形式返回写入结果。 |
| Promise
\<
void
\
>
| 以Promise形式返回写入结果。 |
**示例:**
...
...
@@ -969,7 +969,7 @@ httpResponseCache.flush().then(() => {
### delete<sup>9+</sup>
delete(callback: AsyncCallback
\<
void>): void
delete(callback: AsyncCallback
\<
void
\
>
): void
禁用缓存并删除其中的数据,使用callback方式作为异步方法。
...
...
@@ -979,7 +979,7 @@ delete(callback: AsyncCallback\<void>): void
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------------------- | ---- | ---------- |
| callback | AsyncCallback
\<
void> | 是 | 回调函数返回删除结果。|
| callback | AsyncCallback
\<
void
\
>
| 是 | 回调函数返回删除结果。|
**示例:**
...
...
@@ -994,7 +994,7 @@ httpResponseCache.delete(err => {
```
### delete<sup>9+</sup>
delete(): Promise
\<
void>
delete(): Promise
\<
void
\
>
禁用缓存并删除其中的数据,使用Promise方式作为异步方法。
...
...
@@ -1004,7 +1004,7 @@ delete(): Promise\<void>
| 类型 | 说明 |
| --------------------------------- | ------------------------------------- |
| Promise
\<
void> | 以Promise形式返回删除结果。 |
| Promise
\<
void
\
>
| 以Promise形式返回删除结果。 |
**示例:**
...
...
zh-cn/application-dev/reference/apis/js-apis-socket.md
浏览文件 @
c5fff295
此差异已折叠。
点击以展开。
zh-cn/application-dev/reference/apis/js-apis-system-fetch.md
浏览文件 @
c5fff295
...
...
@@ -14,7 +14,7 @@ import fetch from '@system.fetch';
```
## fetch.fetch
## fetch.fetch
<sup>3+</sup>
fetch(Object): void
...
...
@@ -23,7 +23,7 @@ fetch(Object): void
**系统能力:**
SystemCapability.Communication.NetStack
**参数:**
|
参数名
| 类型 | 必填 | 说明 |
|
名称
| 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| url | string | 是 | 资源地址。 |
| data | string
\|
Object | 否 | 请求的参数,可选类型是字符串或者json对象。详见表 data与Content-Type关系。 |
...
...
@@ -45,7 +45,7 @@ fetch(Object): void
## FetchResponse
|
参数名
| 类型 | 可读 | 可写 | 说明 |
|
名称
| 类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
| code | number | 是 | 否 | 表示服务器的状态code。 |
| data | string
\|
Object | 是 | 否 | 返回数据类型由responseType确定,详见表 responseType与success中data关系。 |
...
...
zh-cn/application-dev/reference/apis/js-apis-system-network.md
浏览文件 @
c5fff295
...
...
@@ -31,7 +31,7 @@ getType(Object): void
**参数:**
|
参数名
| 类型 | 必填 | 说明 |
|
名称
| 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| success | Function | 否 | 接口调用成功的回调函数,返回值为
[
NetworkResponse
](
#networkresponse
)
|
| fail | Function | 否 | 接口调用失败的回调函数。 |
...
...
@@ -71,7 +71,7 @@ subscribe(Object): void
**参数:**
|
参数名
| 类型 | 必填 | 说明 |
|
名称
| 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| success | Function | 否 | 网络发生变化的回调函数,返回值为
[
NetworkResponse
](
#networkresponse
)
|
| fail | Function | 否 | 接口调用失败的回调函数。 |
...
...
@@ -124,7 +124,7 @@ export default {
**系统能力:**
SystemCapability.Communication.NetManager.Core
|
参数名
| 类型 | 必填 | 说明 |
|
名称
| 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| metered | boolean | 否 |是否按照流量计费。 |
| type | string | 是|网络类型,可能的值有2g,3g,4g,5g,wifi,none等。 |
\ No newline at end of file
zh-cn/application-dev/reference/apis/js-apis-webSocket.md
浏览文件 @
c5fff295
...
...
@@ -64,7 +64,7 @@ ws.connect(defaultIpAddress, (err, value) => {
## webSocket.createWebSocket
createWebSocket
\(\
)
: WebSocket
createWebSocket
(
): WebSocket
创建一个WebSocket,里面包括建立连接、关闭连接、发送数据和订阅/取消订阅WebSocket连接的打开事件、接收到服务器消息事件、关闭事件和错误事件。
...
...
@@ -89,7 +89,7 @@ let ws = webSocket.createWebSocket();
### connect
connect
\(
url: string, callback: AsyncCallback<boolean
\>\
)
: void
connect
(url: string, callback: AsyncCallback
\<
boolean
\>
): void
根据URL地址,建立一个WebSocket连接,使用callback方式作为异步方法。
...
...
@@ -99,7 +99,7 @@ connect\(url: string, callback: AsyncCallback<boolean\>\): void
**参数:**
|
参数名
| 类型 | 必填 | 说明 |
|
名称
| 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | ---------------------------- |
| url | string | 是 | 建立WebSocket连接的URL地址。 |
| callback | AsyncCallback
\<
boolean
\>
| 是 | 回调函数。 |
...
...
@@ -128,7 +128,7 @@ ws.connect(url, (err, value) => {
### connect
connect
\(
url: string, options: WebSocketRequestOptions, callback: AsyncCallback<boolean
\>\
)
: void
connect
(url: string, options: WebSocketRequestOptions, callback: AsyncCallback
\<
boolean
\>
): void
根据URL地址和header,建立一个WebSocket连接,使用callback方式作为异步方法。
...
...
@@ -138,7 +138,7 @@ connect\(url: string, options: WebSocketRequestOptions, callback: AsyncCallback<
**参数:**
|
参数名
| 类型 | 必填 | 说明 |
|
名称
| 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | ------------------------------------------------------- |
| url | string | 是 | 建立WebSocket连接的URL地址。 |
| options | WebSocketRequestOptions | 是 | 参考
[
WebSocketRequestOptions
](
#websocketrequestoptions
)
。 |
...
...
@@ -173,7 +173,7 @@ ws.connect(url, {
### connect
connect
\(
url: string, options?: WebSocketRequestOptions
\)
: Promise
<boolean
\>
connect
(url: string, options?: WebSocketRequestOptions): Promise
\
<
boolean
\>
根据URL地址和header,建立一个WebSocket连接,使用Promise方式作为异步方法。
...
...
@@ -183,7 +183,7 @@ connect\(url: string, options?: WebSocketRequestOptions\): Promise<boolean\>
**参数:**
|
参数名
| 类型 | 必填 | 说明 |
|
名称
| 类型 | 必填 | 说明 |
| ------- | ----------------------- | ---- | ------------------------------------------------------- |
| url | string | 是 | 建立WebSocket连接的URL地址。 |
| options | WebSocketRequestOptions | 否 | 参考
[
WebSocketRequestOptions
](
#websocketrequestoptions
)
。 |
...
...
@@ -217,7 +217,7 @@ promise.then((value) => {
### send
send
\(
data: string | ArrayBuffer, callback: AsyncCallback<boolean
\>\
)
: void
send
(data: string | ArrayBuffer, callback: AsyncCallback
\<
boolean
\>
): void
通过WebSocket连接发送数据,使用callback方式作为异步方法。
...
...
@@ -227,9 +227,9 @@ send\(data: string | ArrayBuffer, callback: AsyncCallback<boolean\>\): void
**参数:**
|
参数名
| 类型 | 必填 | 说明 |
|
名称
| 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | ------------ |
| data | string
\|
ArrayBuffer
<sup>
8+
</sup>
| 是 | 发送的数据
。 |
| data | string
\|
ArrayBuffer
| 是 | 发送的数据。
<br>
API 6及更早版本仅支持string类型。API 8起同时支持string和ArrayBuffer类型
。 |
| callback | AsyncCallback
\<
boolean
\>
| 是 | 回调函数。 |
**错误码:**
...
...
@@ -258,7 +258,7 @@ ws.connect(url, (err, value) => {
### send
send
\(
data: string | ArrayBuffer
\)
: Promise
<boolean
\>
send
(data: string | ArrayBuffer): Promise
\
<
boolean
\>
通过WebSocket连接发送数据,使用Promise方式作为异步方法。
...
...
@@ -268,9 +268,9 @@ send\(data: string | ArrayBuffer\): Promise<boolean\>
**参数:**
|
参数名
| 类型 | 必填 | 说明 |
|
名称
| 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------------ |
| data | string
\|
ArrayBuffer
<sup>
8+
</sup>
| 是 | 发送的数据
。 |
| data | string
\|
ArrayBuffer
| 是 | 发送的数据。
<br>
API 6及更早版本仅支持string类型。API 8起同时支持string和ArrayBuffer类型
。 |
**返回值:**
...
...
@@ -303,7 +303,7 @@ ws.connect(url, (err, value) => {
### close
close
\(
callback: AsyncCallback<boolean
\>\
)
: void
close
(callback: AsyncCallback
\<
boolean
\>
): void
关闭WebSocket连接,使用callback方式作为异步方法。
...
...
@@ -313,7 +313,7 @@ close\(callback: AsyncCallback<boolean\>\): void
**参数:**
|
参数名
| 类型 | 必填 | 说明 |
|
名称
| 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | ---------- |
| callback | AsyncCallback
\<
boolean
\>
| 是 | 回调函数。 |
...
...
@@ -341,7 +341,7 @@ ws.close((err, value) => {
### close
close
\(
options: WebSocketCloseOptions, callback: AsyncCallback<boolean
\>\
)
: void
close
(options: WebSocketCloseOptions, callback: AsyncCallback
\<
boolean
\>
): void
根据可选参数code和reason,关闭WebSocket连接,使用callback方式作为异步方法。
...
...
@@ -351,7 +351,7 @@ close\(options: WebSocketCloseOptions, callback: AsyncCallback<boolean\>\): void
**参数:**
|
参数名
| 类型 | 必填 | 说明 |
|
名称
| 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | ----------------------------------------------------- |
| options | WebSocketCloseOptions | 是 | 参考
[
WebSocketCloseOptions
](
#websocketcloseoptions
)
。 |
| callback | AsyncCallback
\<
boolean
\>
| 是 | 回调函数。 |
...
...
@@ -383,7 +383,7 @@ ws.close({
### close
close
\(
options?: WebSocketCloseOptions
\)
: Promise
<boolean
\>
close
(options?: WebSocketCloseOptions): Promise
\
<
boolean
\>
根据可选参数code和reason,关闭WebSocket连接,使用Promise方式作为异步方法。
...
...
@@ -393,7 +393,7 @@ close\(options?: WebSocketCloseOptions\): Promise<boolean\>
**参数:**
|
参数名
| 类型 | 必填 | 说明 |
|
名称
| 类型 | 必填 | 说明 |
| ------- | --------------------- | ---- | ----------------------------------------------------- |
| options | WebSocketCloseOptions | 否 | 参考
[
WebSocketCloseOptions
](
#websocketcloseoptions
)
。 |
...
...
@@ -427,9 +427,9 @@ promise.then((value) => {
```
### on
\('open'\
)
### on
('open'
)
on
\(
type: 'open', callback: AsyncCallback<Object
\>\
)
: void
on
(type: 'open', callback: AsyncCallback
\<
Object
\>
): void
订阅WebSocket的打开事件,使用callback方式作为异步方法。
...
...
@@ -437,7 +437,7 @@ on\(type: 'open', callback: AsyncCallback<Object\>\): void
**参数:**
|
参数名
| 类型 | 必填 | 说明 |
|
名称
| 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | ----------------------------- |
| type | string | 是 | 'open':WebSocket的打开事件。 |
| callback | AsyncCallback
\<
Object
\>
| 是 | 回调函数。 |
...
...
@@ -453,9 +453,9 @@ ws.on('open', (err, value) => {
```
### off
\('open'\
)
### off
('open'
)
off
\(
type: 'open', callback?: AsyncCallback<Object
\>\
)
: void
off
(type: 'open', callback?: AsyncCallback
\<
Object
\>
): void
取消订阅WebSocket的打开事件,使用callback方式作为异步方法。
...
...
@@ -466,7 +466,7 @@ off\(type: 'open', callback?: AsyncCallback<Object\>\): void
**参数:**
|
参数名
| 类型 | 必填 | 说明 |
|
名称
| 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | ----------------------------- |
| type | string | 是 | 'open':WebSocket的打开事件。 |
| callback | AsyncCallback
\<
Object
\>
| 否 | 回调函数。 |
...
...
@@ -484,20 +484,20 @@ ws.off('open', callback1);
```
### on
\('message'\
)
### on
('message'
)
on
\(
type: 'message', callback: AsyncCallback<string | ArrayBuffer
\>\
)
: void
on
(type: 'message', callback: AsyncCallback
\<
string | ArrayBuffer
\>
): void
订阅WebSocket的接收到服务器消息事件,使用callback方式作为异步方法。每个消息最大长度为4K,超过4K自动分片。
> **说明:**
>AsyncCallback中的数据可以是字符串
\(API 6\)或ArrayBuffer\(API 8\
)。
>AsyncCallback中的数据可以是字符串
(API 6)或ArrayBuffer(API 8
)。
**系统能力**
:SystemCapability.Communication.NetStack
**参数:**
|
参数名
| 类型 | 必填 | 说明 |
|
名称
| 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | -------------------------------------------- |
| type | string | 是 | 'message':WebSocket的接收到服务器消息事件。 |
| callback | AsyncCallback
\<
string
\|
ArrayBuffer
<sup>
8+
</sup>
\>
| 是 | 回调函数。 |
...
...
@@ -512,21 +512,21 @@ ws.on('message', (err, value) => {
```
### off
\('message'\
)
### off
('message'
)
off
\(
type: 'message', callback?: AsyncCallback<string | ArrayBuffer
\>\
)
: void
off
(type: 'message', callback?: AsyncCallback
\<
string | ArrayBuffer
\>
): void
取消订阅WebSocket的接收到服务器消息事件,使用callback方式作为异步方法。每个消息最大长度为4K,超过4K自动分片。
> **说明:**
>AsyncCallback中的数据可以是字符串
\(API 6\)或ArrayBuffer\(API 8\
)。
>AsyncCallback中的数据可以是字符串
(API 6)或ArrayBuffer(API 8
)。
>可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
**系统能力**
:SystemCapability.Communication.NetStack
**参数:**
|
参数名
| 类型 | 必填 | 说明 |
|
名称
| 类型 | 必填 | 说明 |
| -------- | --------------------------------------------------- | ---- | -------------------------------------------- |
| type | string | 是 | 'message':WebSocket的接收到服务器消息事件。 |
| callback | AsyncCallback
\<
string
\|
ArrayBuffer
<sup>
8+
</sup>
\>
| 否 | 回调函数。 |
...
...
@@ -539,9 +539,9 @@ ws.off('message');
```
### on
\('close'\
)
### on
('close'
)
on
\(
type: 'close', callback: AsyncCallback<
\{
code: number, reason: string
\}\>\
)
: void
on
(type: 'close', callback: AsyncCallback
\<
{ code: number, reason: string }
\>
): void
订阅WebSocket的关闭事件,使用callback方式作为异步方法。
...
...
@@ -549,10 +549,10 @@ on\(type: 'close', callback: AsyncCallback<\{ code: number, reason: string \}\>\
**参数:**
|
参数名
| 类型 | 必填 | 说明 |
|
名称
| 类型 | 必填 | 说明 |
| -------- | ----------------------------------------------- | ---- | ------------------------------ |
| type | string | 是 | 'close':WebSocket的关闭事件。 |
| callback | AsyncCallback
<
{
code:
number
,
reason:
string
}
>
| 是 | 回调函数。
|
| callback | AsyncCallback
\<
{ code: number, reason: string }
\>
| 是 | 回调函数。
<br>
close:close错误码,reason:错误码说明
|
**示例:**
...
...
@@ -564,9 +564,9 @@ ws.on('close', (err, value) => {
```
### off
\('close'\
)
### off
('close'
)
off
\(
type: 'close', callback?: AsyncCallback<
\{
code: number, reason: string
\}\>\
)
: void
off
(type: 'close', callback?: AsyncCallback
\<
{ code: number, reason: string }
\>
): void
取消订阅WebSocket的关闭事件,使用callback方式作为异步方法。
...
...
@@ -577,10 +577,10 @@ off\(type: 'close', callback?: AsyncCallback<\{ code: number, reason: string \}\
**参数:**
|
参数名
| 类型 | 必填 | 说明 |
|
名称
| 类型 | 必填 | 说明 |
| -------- | ----------------------------------------------- | ---- | ------------------------------ |
| type | string | 是 | 'close':WebSocket的关闭事件。 |
| callback | AsyncCallback
<
{
code:
number
,
reason:
string
}
>
| 否 | 回调函数。
|
| callback | AsyncCallback
\<
{ code: number, reason: string }
\>
| 否 | 回调函数。
<br>
close:close错误码,reason:错误码说明
|
**示例:**
...
...
@@ -590,9 +590,9 @@ ws.off('close');
```
### on
\('error'\
)
### on
('error'
)
on
\(
type: 'error', callback: ErrorCallback
\
)
: void
on
(type: 'error', callback: ErrorCallback
): void
订阅WebSocket的Error事件,使用callback方式作为异步方法。
...
...
@@ -600,7 +600,7 @@ on\(type: 'error', callback: ErrorCallback\): void
**参数:**
|
参数名
| 类型 | 必填 | 说明 |
|
名称
| 类型 | 必填 | 说明 |
| -------- | ------------- | ---- | ------------------------------- |
| type | string | 是 | 'error':WebSocket的Error事件。 |
| callback | ErrorCallback | 是 | 回调函数。 |
...
...
@@ -615,9 +615,9 @@ ws.on('error', (err) => {
```
### off
\('error'\
)
### off
('error'
)
off
\(
type: 'error', callback?: ErrorCallback
\
)
: void
off
(type: 'error', callback?: ErrorCallback
): void
取消订阅WebSocket的Error事件,使用callback方式作为异步方法。
...
...
@@ -628,7 +628,7 @@ off\(type: 'error', callback?: ErrorCallback\): void
**参数:**
|
参数名
| 类型 | 必填 | 说明 |
|
名称
| 类型 | 必填 | 说明 |
| -------- | ------------- | ---- | ------------------------------- |
| type | string | 是 | 'error':WebSocket的Error事件。 |
| callback | ErrorCallback | 否 | 回调函数。 |
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录