鸿蒙开发之网络请求

2023-12-17 07:11:00
//需要导入http头文件
import http from '@ohos.net.http'

  //请求地址
  url: string = 'http://apis.juhe.cn/simpleWeather/query'

    Text(this.message)
          .maxFontSize(50)
          .minFontSize(10)
          .fontWeight(FontWeight.Bold)
          .onClick(() => {
            console.log('======请求开始')
           let req = http.createHttp()
           req.request(this.url,{
                
             //请求方式
              method: http.RequestMethod.POST,
            //请求参数
              extraData:{
                'city':'北京',
                'key':this.reqKey
              }
            })
                //结果回调
              .then((value: http.HttpResponse) => {
              console.log('======请求结束')
              this.message = JSON.stringify(value.result)
            })

          })

还有一种写法,请求结果在第三个参数重回调回来

 Text(this.message)
          .maxFontSize(50)
          .minFontSize(10)
          .fontWeight(FontWeight.Bold)
          .onClick(() => {
            console.log('======请求开始')
           let req = http.createHttp()
            req.request(this.url,{
              method: http.RequestMethod.POST,
              extraData:{
                'city':'北京',
                'key':this.reqKey
              }
               //请求结果回调
            },(error,data) => {
              console.log('======请求结束')
              this.message = JSON.stringify(data.result)
            })
      

          })

过程还是比较好理解的,

  1. 创建一个http对象
  2. 然后用这个对象通过request方法发起请求

????????????2.1 第一个参数是请求的url,

? ? ? ? ? ??2.2 第二个是请求的配置,可以配置请求是post、get、delete等,还有请求的参数等,

? ? ? ? ? ??2.3 第三个参数是请求结果的回调,回调的data是?http.HttpResponse类型

注意,需要在module.json5文件中配置网络请求权限。

如果需要中断网络请求可以

req.destroy()

文章来源:https://blog.csdn.net/Lu_Ca/article/details/135019219
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。