鸿蒙 OS-10 Http请求,ohpm 安装

77 阅读1分钟

图片来源:黑马程序员 bz

三方库中心:ohpm.openharmony.cn/#/cn/home

image.png

本地服务端启动

  1. 端口 shopServer/bin/www
var port = normalizePort(process.env.PORT || '3000');
app.set('port', port);
  1. npm start
  2. npm install 如果报错少依赖(装所有列在 package.json 文件中的依赖项。)
  3. 测试网址: http://localhost:3000/shops?pageNo=1&pageSize=2

基于ohos的http模块实现-异步-查询商铺

/**
 * 基于ohos的http模块实现异步查询商铺
 * @returns
 */
getShopListByHttp(): Promise<ShopInfo[]> {
  return new Promise((resolve, reject) => {
    // 1.创建http的请求对象
    let httpRequest = http.createHttp()
    // 2.发送请求
    httpRequest.request(
      `${this.baseURL}/shops?pageNo=${this.pageNo}&pageSize=3`,
      {
        method: http.RequestMethod.GET
      }
    )
      .then(resp => {
        if (resp.responseCode === 200) {
          // 查询成功
          console.log('testTag',  '查询商铺成功!', resp.result)
          resolve(JSON.parse(resp.result.toString()))
        } else {
          console.log('testTag',  '查询商铺信息失败!error:', JSON.stringify(resp))
          reject('查询商铺失败1')
        }
      })
      .catch(error => {
        console.log('testTag',  '查询商铺信息失败!error:', JSON.stringify(error))
        reject('查询商铺失败2')
      })
  })
}


使用:
loadShopInfoSync() {
  ShopModel.getShopListByHttp()
    .then(shops => {
      shops.forEach((s) => {
        console.log("loadShopInfoSync s==", s)
      })
    })
    .catch((error) => {
     console.error("error", JSON.stringify(error))   });
}

安装 第三方库 axios

  • 如果 mac 命令行无法执行。--》EVO Studio Terminal 执行。
  • 如果下载失败。配置:oh-package.json5 和 oh-package-lock.json5
oh-package.json5: 中

"dependencies": {
  "@ohos/axios": "^2.1.1"
},

oh-package-lock.json5:中

"packages": {
  "@ohos/hypium@1.0.6": {
    "resolved": "https://repo.harmonyos.com/ohpm/@ohos/hypium/-/hypium-1.0.6.tgz",
    "integrity": "sha512-bb3DWeWhYrFqj9mPFV3yZQpkm36kbcK+YYaeY9g292QKSjOdmhEIQR2ULPvyMsgSR4usOBf5nnYrDmaCCXirgQ=="
  },
  
}


axios文档:ohpm.openharmony.cn/#/cn/detail…

image.png

image.png