美文网首页
网络管理-async、await

网络管理-async、await

作者: 家乡的蝈蝈 | 来源:发表于2024-02-04 08:38 被阅读0次

1.1、应用权限

  ATM (AccessTokenManager) 是HarmonyOS上基于AccessToken构建的统一的应用权限管理能力
应用权限保护的对象可以分为数据和功能:

  • 数据包含了个人数据(如照片、通讯录、日历、位置等)、设备数据(如设备标识、相机、麦克风等)、应用数据。
  • 功能则包括了设备功能(如打电话、发短信、联网等)、应用功能(如弹出悬浮框、创建快捷方式等)等。

根据授权方式的不同,权限类型可分为system_grant(系统授权)和user_grant(用户授权)

  • 配置文件权限声明
{
  "module" : {
    // ...
    "requestPermissions":[
      {
        "name" : "ohos.permission.INTERNET"
      }
    ]
  }
}
  • 向用户申请授权
{
  "module" : {
    // ...
    "requestPermissions":[
      {
        "name" : "ohos.permission.ANSWER_CALL" //允许应用接听来电
      }
    ]
  }
}

1.2、HTTP请求

使用 @ohos.net.http 模块发请求

// 申请网络权限
"requestPermissions": [
      {
        "name": "ohos.permission.INTERNET"
    ]
import http from '@ohos.net.http'
import request from '@ohos.request'
@Entry
@Component
struct HttpCase {
  aboutToAppear() { // 页面初始化之后会执行
    this.getData()
  }
  async getData() {
    // 第一种取promise结果的方法
    try {
      const req = http.createHttp()
      // await会强制等待后面的promise进行resolve,只有执行成功才会走下一行代码,要求父级函数必须标记为async
      const res = await req.request("https://zhoushugang.gitee.io/fe2022/takeaway.json")
      // 执行成功的代码  async await让我们用同步的方式写异步, 必须配套使用,要求父级函数必须标记为async
      // async标记后面的函数是一个异步函数,不会阻塞主线程,getData不会阻塞主线程的执行
      AlertDialog.show({message:res.result as string })
    } catch(e) { // 处理失败的代码
    }
    // 第二种取promise结果的方法
    // request返回promise,通过then拿到结果
    // const req = http.createHttp()
    // req.request("https://zhoushugang.gitee.io/fe2022/takeaway.json")
    //   .then((result) => {
    //     AlertDialog.show({message:result.result as string }) // as string代表类型断言
    //   })
    //   .catch((e)=>{
    //   })
  }
  build() {
    Row() {
      Column() {
      }
      .width('100%')
    }
    .height('100%')
  }
}

相关文章

  • async和await

    浅谈Async/Await用 async/await 来处理异步 async和await async:声明一个异步...

  • ES8(一) —— async&await

    目录 async和普通函数的区别 await async/await处理多回调异步 async和await必须配合...

  • async

    async/await特点 async/await更加语义化,async是“异步”的简写,async functi...

  • ES6中的好东西

    1 Await/Async 前端的回调时代我没有赶上,我赶上的是await/async时代。await和async...

  • Vue接口调用方式(三)async/await用法

    async/await用法 1. async/await的基本用法 async/await是ES7引入的新语法,可...

  • nodejs async 使用简介

    async await node async 使用

  • JS 中的 async/await

    async/await 是什么? async/await 是 ES2017 中新增的异步解决方案; await 只...

  • ES2017 async 函数

    async 和 await 在干什么 每个名称都有意义async : 异步await: async wait简...

  • async/await

    async/await async/await 是Generator的语法糖。 Generator 通过将Gene...

  • 小程序-云开发

    async和await async:异步(无等待)await:等待(是为了同步) 一、await 关键字只在 as...

网友评论

      本文标题:网络管理-async、await

      本文链接:https://www.haomeiwen.com/subject/rjyzodtx.html