HarmonyOS5网络http请求方式
注意发起网络请求,需要在权限配置中申请一个网络权限,以及一个响应的后段服务器地址。
1.官方http模块请求
注意发起网络请求,需要在权限配置中申请一个网络权限,以及一个响应的后段服务器地址
1.1导入http模块通过createHttp()创建一个实例
const req = http.createHttp( )
2.通过该实例发起请求发起request请求
req.request( url , params? )
url:请求的服务器地址
params:请求所传递的属性和方法(该参数为可选,下面详解)
这种发起请求的操作一般比较耗时的,这种操作咱们称之为异步操作
代码中异步操作我们一般用promise来进行标识
因为这种操作要耗挺长的时间,所以程序会忽略他,先执行下面的,等他执行完后再执行
所以我们通过一般的方法获取不到请求到的信息
如何获取请求到的结果?
2.1. 通过自带的.then( )方法获取
移动鼠标到属性上,只要是返回promise的对象均可用.then获取成功的结果
详细的看下面
2.2. 使用await async代码糖来等待其处理完毕
这种情况就是告诉编译器此为同步的代码,会让编译器停下等他完成
async告诉编译器该函数是带有同步的代码块
await就是具体告诉那句是同步的(具体参考下面)

拓展:
发起请求一般有两种情况一种是请求成功另一种是请求失败
返回的promise中我们通过.then获取的是成功的结果,catch获取失败的结果
已兑现(fullfilled): 意味着操作成功完成 .then获取的就是该值
已拒绝(rejected): 意味着操作失败 .catch获取这个(要标明属性)

3.常发起的四种请求
3.1 get请求向服务器获取数据
后端给定这种形式的网址,此为向后段发起请求get的服务器地址

调用http实例request方法发送请求
get是向服务器获取数据,第二个参数故不用填
后段返回的是json类型,通过调用JSON.parse可转换为鸿蒙里常用的对象形式
后段返回的不清楚具体的类型,所以要进行断言,告诉编译器里面有哪些属性

get请求限定数量的数据
通过后段给定的接口里面得知具体的参数名是什么

然后在具体的参数网址最后 ?参数名=参数值 来获取限定数量的值

3.2 POST请求向服务器提交数据(关心成功与否)
同样也是那种请求拿那种对应的网址

同样也是发起request方法,因为是发送数据给服务端,填第二个参数
里面的一些常用属性如图
method不填默认发起的是get方法,不写类型不匹配可能会出错

如何知道提交数据的成功与否?
通过后段返回的响应状态码来进行判断

3.3 delete请求删除数据
同样也是通过后段给出的删除的地址

通过在网址后面给定选中删除的元素来删除具体属性

模版:
实例话调用request方法,因为此次是删除数据,不需要传递数据过去,只需要改为delete方法即可

同理也是跟据响应状态码来进行判断

3.4put修改数据
跟上面同理

模版:
也是发起request请求,因为是发起数据给服务器进行修改,接收第二个参数
修改后的数据可以给定个提示是否修改成功

更多推荐


所有评论(0)