国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【HarmonyOS】【ArkTS】如何使用HTTP網(wǎng)絡(luò)請(qǐng)求獲取動(dòng)態(tài)數(shù)據(jù)刷新UI界面

這篇具有很好參考價(jià)值的文章主要介紹了【HarmonyOS】【ArkTS】如何使用HTTP網(wǎng)絡(luò)請(qǐng)求獲取動(dòng)態(tài)數(shù)據(jù)刷新UI界面。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

【關(guān)鍵字】

HttpRequest、ArkTS、網(wǎng)絡(luò)數(shù)據(jù)請(qǐng)求、@ohos.net.http

【前言】

在使用ArkTS開(kāi)發(fā)HarmonyOS應(yīng)用時(shí),需要調(diào)用HTTP網(wǎng)絡(luò)請(qǐng)求?@ohos.net.http?動(dòng)態(tài)獲取數(shù)據(jù),進(jìn)行UI列表刷新,這想必是應(yīng)用開(kāi)發(fā)最常見(jiàn)的功能。但是根據(jù)官網(wǎng)網(wǎng)絡(luò)請(qǐng)求的示例代碼進(jìn)行功能開(kāi)發(fā)時(shí),封裝方法進(jìn)行HTTP請(qǐng)求后,返回獲取數(shù)據(jù)總是為空,無(wú)法返回調(diào)用接口獲取的結(jié)果,經(jīng)過(guò)一系列步驟檢查,終于獲取到數(shù)據(jù),在此附上我的開(kāi)發(fā)步驟、一些注意事項(xiàng)以及參考文檔。

【開(kāi)發(fā)步驟】

步驟1:根據(jù)官方文檔,HTTP網(wǎng)絡(luò)請(qǐng)求需要申請(qǐng)ohos.permission.INTERNET權(quán)限,需要在配置文件module.json5中添加權(quán)限,如下:

"requestPermissions": [
  {
    "name": "ohos.permission.INTERNET",
    "usedScene": {
      "when": "always"
    }
  }
]

步驟2:封裝HTTP請(qǐng)求方法,由于這里需要請(qǐng)求數(shù)據(jù)后返回,所以不能直接用callback方式作為異步方法,需要使用Promise方式作為異步方法,配合await和async使用,代碼參考如下(其中MyData為自定義類,可忽略):

import http from '@ohos.net.http';
import MyData from '../MyData'

export default async function getHttpData(): Promise<MyData[]> {
  let dataList: MyData[] = []

  let httpRequest = http.createHttp();
  let response = httpRequest.request(
    // 填寫HTTP請(qǐng)求的URL地址,可以帶參數(shù)也可以不帶參數(shù)。URL地址需要開(kāi)發(fā)者自定義。請(qǐng)求的參數(shù)可以在extraData中指定
    "http://xxxxx",
    {
      method: http.RequestMethod.GET, // 可選,默認(rèn)為http.RequestMethod.GET
      // 開(kāi)發(fā)者根據(jù)自身業(yè)務(wù)需要添加header字段
      header: {
        'Content-Type': 'application/json'
      },
      expectDataType: http.HttpDataType.STRING, // 可選,指定返回?cái)?shù)據(jù)的類型
    }
  );
  // 使用await和async,等待請(qǐng)求完成處理數(shù)據(jù)后返回
  await response.then((data) => {
    if (data.responseCode == 200) {
      // 處理返回結(jié)果
      const response = data.result + "";
      const res = JSON.parse(response).data
      for (let i = 0; i < res.length; i++) {
        let item = res[i];
        dataList.push({
          id: item.id, content: item.content, createTime: item.createTime
        });
      }
    } else {
      // todo 請(qǐng)求失敗,進(jìn)行失敗邏輯處理
    }
  }).catch((err) => {
    // todo 請(qǐng)求失敗,進(jìn)行失敗邏輯處理
    console.info('error:' + JSON.stringify(err));
  })
  return dataList;
}

步驟3:在ets文件中調(diào)用方法獲取數(shù)據(jù),注意由于封裝getHttpData時(shí)為async方法,所以調(diào)用同樣需要使用async方式調(diào)用,代碼如下所示:

@State dataList: Array<MyData> = [{ id: "1", content: "content", createTime: "" }]

async aboutToAppear() {
  this.dataList = await getHttpData()
}

步驟4:獲取到dataList數(shù)組后,就可以通過(guò)ForEach循環(huán)顯示組件和數(shù)據(jù)啦,到此就完成HTTP網(wǎng)絡(luò)請(qǐng)求動(dòng)態(tài)數(shù)據(jù)獲取刷新UI界面啦。

【注意事項(xiàng)】

1、使用ArkTS中網(wǎng)絡(luò)請(qǐng)求接口時(shí),一定要申請(qǐng)ohos.permission.INTERNET權(quán)限;

2、封裝方法進(jìn)行HTTP請(qǐng)求時(shí),注意需要使用Promise方式配合await和async使用,await添加到獲取數(shù)據(jù)處理數(shù)據(jù)那一步,才能同步返回獲取后數(shù)據(jù)結(jié)果;

3、調(diào)用HTTP請(qǐng)求方法時(shí),同樣需要使用async。

4、我提供的示例中未使用extraData,若需要進(jìn)行參數(shù)請(qǐng)求時(shí),注意不能對(duì)extraData整個(gè)參數(shù)進(jìn)行加密處理,因?yàn)閑xtraData通過(guò)string方式傳遞時(shí),是使用key1=value1&key2=value2方式連接,其中“=”和“&”不能進(jìn)行加密處理,只能加密處理其中的key或者value值。

【參考文檔】

文檔中心:HTTP數(shù)據(jù)請(qǐng)求

文檔中心: @ohos.net.http (數(shù)據(jù)請(qǐng)求)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-717636.html

到了這里,關(guān)于【HarmonyOS】【ArkTS】如何使用HTTP網(wǎng)絡(luò)請(qǐng)求獲取動(dòng)態(tài)數(shù)據(jù)刷新UI界面的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • HarmonyOS 發(fā)送http網(wǎng)絡(luò)請(qǐng)求

    HarmonyOS 發(fā)送http網(wǎng)絡(luò)請(qǐng)求

    好 本文 我們來(lái)說(shuō) http請(qǐng)求 首先 我們要操作網(wǎng)絡(luò)內(nèi)容 需要申請(qǐng)權(quán)限 項(xiàng)目中找到 main目錄下的module.json5 最下面加上 這里 我在本地寫了一個(gè)get接口 大家可以想辦法 弄一個(gè)后端接口 首先 我們編寫一個(gè)組件雛形 我們導(dǎo)入 @ohos.net.http 然后 通過(guò) createHttp 獲取一個(gè)http對(duì)象 然后通過(guò)對(duì)

    2024年01月23日
    瀏覽(25)
  • 鴻蒙HarmonyOS-HTTP網(wǎng)絡(luò)數(shù)據(jù)請(qǐng)求

    鴻蒙HarmonyOS-HTTP網(wǎng)絡(luò)數(shù)據(jù)請(qǐng)求

    應(yīng)用可以通過(guò)HTTP發(fā)起一個(gè)數(shù)據(jù)請(qǐng)求,支持常見(jiàn)的GET、POST、OPTIONS、HEAD、PUT、DELETE、TRACE、CONNECT方法。 親愛(ài)的讀者: 首先,我要感謝您抽出寶貴的時(shí)間閱讀這篇文章。我深知,您的每一分每一秒都是寶貴的。為此,我在創(chuàng)作這篇文章時(shí)付出了巨大的努力,力求為您提供最具價(jià)

    2024年01月16日
    瀏覽(14)
  • HarmonyOS開(kāi)發(fā):基于http開(kāi)源一個(gè)網(wǎng)絡(luò)請(qǐng)求庫(kù)

    HarmonyOS開(kāi)發(fā):基于http開(kāi)源一個(gè)網(wǎng)絡(luò)請(qǐng)求庫(kù)

    網(wǎng)絡(luò)封裝的目的,在于簡(jiǎn)潔,使用起來(lái)更加的方便,也易于我們進(jìn)行相關(guān)動(dòng)作的設(shè)置,如果,我們不封裝,那么每次請(qǐng)求,就會(huì)重復(fù)大量的代碼邏輯,如下代碼,是官方給出的案例: 以上的案例,每次請(qǐng)求書寫這么多代碼,在實(shí)際的開(kāi)發(fā)中,是無(wú)法承受的,所以基于此,封裝

    2024年02月06日
    瀏覽(26)
  • 基于 HarmonyOS 的 HTTPS 請(qǐng)求過(guò)程開(kāi)發(fā)示例(ArkTS)

    基于 HarmonyOS 的 HTTPS 請(qǐng)求過(guò)程開(kāi)發(fā)示例(ArkTS)

    本篇 Codelab 基于網(wǎng)絡(luò)模塊以及 Webview 實(shí)現(xiàn)一次 HTTPS 請(qǐng)求,并對(duì)其過(guò)程進(jìn)行抓包分析。效果如圖所示: ●?Webview:提供 Web 控制能力,Web 組件提供網(wǎng)頁(yè)顯示能力。 ●?HTTP數(shù)據(jù)請(qǐng)求:網(wǎng)絡(luò)管理模塊,提供 HTTP 數(shù)據(jù)請(qǐng)求能力,支持 GET、POST、OPTIONS、HEAD、PUT、DELETE、TRACE、CONNECT 請(qǐng)

    2024年02月03日
    瀏覽(23)
  • 【鴻蒙應(yīng)用ArkTS開(kāi)發(fā)系列】- http網(wǎng)絡(luò)庫(kù)使用講解和封裝

    【鴻蒙應(yīng)用ArkTS開(kāi)發(fā)系列】- http網(wǎng)絡(luò)庫(kù)使用講解和封裝

    現(xiàn)在網(wǎng)上的應(yīng)用,基本都是網(wǎng)絡(luò)應(yīng)用,需要進(jìn)行聯(lián)網(wǎng)獲取數(shù)據(jù),而常用的聯(lián)網(wǎng)獲取數(shù)據(jù)的方式有http、socket、websocket等。 在鴻蒙應(yīng)用、服務(wù)中,stage模式開(kāi)發(fā)下,鴻蒙官方為我們提供了一個(gè)網(wǎng)絡(luò)組件庫(kù) http ,我們通過(guò) import http from ‘@ohos.net.http’; 即可以完成引用。 @ohos.net.http

    2024年02月15日
    瀏覽(28)
  • Arkts http數(shù)據(jù)請(qǐng)求

    使用Arkts功能需要申請(qǐng)ohos.permission.INTERNET權(quán)限。即在module.json5文件中申明網(wǎng)絡(luò)訪問(wèn)權(quán)限:ohos.permission.INTERNET。如下 Arkts http數(shù)據(jù)請(qǐng)求功能主要由http模塊提供。具體接口說(shuō)明如下表。 接口名 功能描述 createHttp() 創(chuàng)建一個(gè)http請(qǐng)求。 request() 根據(jù)URL地址,發(fā)起HTTP網(wǎng)絡(luò)請(qǐng)求。 destroy

    2024年02月04日
    瀏覽(20)
  • 如何獲取HTTP請(qǐng)求時(shí)間與響應(yīng)時(shí)間【附源碼】

    如何獲取HTTP請(qǐng)求時(shí)間與響應(yīng)時(shí)間【附源碼】

    今日遇到了一個(gè)問(wèn)題,要去獲取HTTP報(bào)文在 請(qǐng)求 和 響應(yīng) 的時(shí)間,因?yàn)闆](méi)有原生的API可以調(diào)用,所以需要一定的技巧~ 下面主體的框架和代碼,我使用了form表單去構(gòu)造一個(gè)POST請(qǐng)求,然后在Servlet中重寫doPost()方法,然后實(shí)現(xiàn)獲取請(qǐng)求時(shí)間和響應(yīng)時(shí)間的代碼邏輯 我們可以先去觀察

    2024年02月08日
    瀏覽(92)
  • HarmonyOS使用HTTP訪問(wèn)網(wǎng)絡(luò)

    HarmonyOS使用HTTP訪問(wèn)網(wǎng)絡(luò)

    日常生活中我們使用應(yīng)用程序看新聞、發(fā)送消息等,都需要連接到互聯(lián)網(wǎng),從服務(wù)端獲取數(shù)據(jù)。例如,新聞應(yīng)用可以從新聞服務(wù)器中獲取最新的熱點(diǎn)新聞,從而給用戶打造更加豐富、更加實(shí)用的體驗(yàn)。 那么要實(shí)現(xiàn)這樣一種能實(shí)時(shí)從服務(wù)端獲取數(shù)據(jù)的場(chǎng)景,就依賴于HTTP數(shù)據(jù)請(qǐng)

    2024年02月03日
    瀏覽(13)
  • ArkTS - 網(wǎng)絡(luò)請(qǐng)求

    ArkTS - 網(wǎng)絡(luò)請(qǐng)求

    應(yīng)用通過(guò)HTTP發(fā)起一個(gè)數(shù)據(jù)請(qǐng)求,支持常見(jiàn)的GET、POST、OPTIONS、HEAD、PUT、DELETE、TRACE、CONNECT方法。 前端開(kāi)發(fā)肯定都使用過(guò)一個(gè)叫 axios 的 第三方庫(kù) ,它是是一個(gè)基于 promise 的網(wǎng)絡(luò)請(qǐng)求庫(kù),可以用于瀏覽器和 node.js,它是前端最流行的發(fā)送ajax請(qǐng)求的第三方庫(kù)。 如果你不知道什么

    2024年01月24日
    瀏覽(24)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包