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

HarmonyOS通過async與await同異步轉(zhuǎn)換 解決異步回調(diào)地獄

這篇具有很好參考價值的文章主要介紹了HarmonyOS通過async與await同異步轉(zhuǎn)換 解決異步回調(diào)地獄。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

我在 HarmonyOS 發(fā)送http網(wǎng)絡(luò)請求 中講述了 HTTP請求的基本方式
然后 就帶出了 回調(diào)地獄的問題
然后 上文 HarmonyOS 通過Promise 解決異步回調(diào)地獄問題 我們用Promise的解決方案 搞定了 這個問題
但是 Promise 這種寫法 可讀性其實沒有那么優(yōu)秀 沒有搞定 Promise return規(guī)則的人甚至都看不懂

我們可以用另一個ES6知識點 async與await同異步轉(zhuǎn)換
我們代碼可以這樣寫

import http from '@ohos.net.http'
@Entry
@Component
struct Index {
  async aboutToAppear() {
    let httpReq = http.createHttp();
    let PromiseT = await httpReq.request(
      "http://localhost/books",
      {
        method: http.RequestMethod.GET
      }
    )
    let result = JSON.parse(`${PromiseT.result}`);
    let httpReq1 = http.createHttp();
    let data = await httpReq1.request(
      "http://localhost/books/"+result.data[0].id,
      {
        method: http.RequestMethod.GET
      }
    )
    console.log(JSON.stringify(data.result));
  }

  build() {
    Column({space: 30}) {

    }
    .width('100%')
    .height('100%')
  }
}

先給我們的 aboutToAppear 修飾一個 async
這樣才能在它里面進行 await
然后 我們先請求 http://localhost/books 這里 我們加了 await 請求會一直等它返回 不會提前執(zhí)行
然后 等它發(fā)揮了 用它返回的數(shù)據(jù) 第一條 0 下標的id 去作為路徑參數(shù) 請求 “http://localhost/books/”+result.data[0].id,
運行結(jié)果如下
HarmonyOS通過async與await同異步轉(zhuǎn)換 解決異步回調(diào)地獄,harmonyos,華為,鴻蒙
也是沒有任何問題文章來源地址http://www.zghlxwxcb.cn/news/detail-821579.html

到了這里,關(guān)于HarmonyOS通過async與await同異步轉(zhuǎn)換 解決異步回調(diào)地獄的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • Swift async/await 并發(fā)中如何將任務(wù)組(TaskGroup)轉(zhuǎn)換為異步序列(AsyncSequence)

    Swift async/await 并發(fā)中如何將任務(wù)組(TaskGroup)轉(zhuǎn)換為異步序列(AsyncSequence)

    在 Swift 新結(jié)構(gòu)化并行模型的開發(fā)中,? 提出了任務(wù)組(TaskGroup)和異步序列(AsyncSequence)的概念。有時候,為了簡潔和效率方面的原因,我們需要將 TaskGroup 的結(jié)果轉(zhuǎn)換為異步序列。 如上圖所示,我們試圖將任務(wù)組的結(jié)果轉(zhuǎn)換為異步序列,但不幸失敗了。 那么,最終我們到

    2024年02月12日
    瀏覽(23)
  • 如何處理異步編程中的回調(diào)地獄問題?

    如何處理異步編程中的回調(diào)地獄問題?

    前端入門之旅:探索Web開發(fā)的奇妙世界 歡迎來到前端入門之旅!感興趣的可以訂閱本專欄哦!這個專欄是為那些對Web開發(fā)感興趣、剛剛踏入前端領(lǐng)域的朋友們量身打造的。無論你是完全的新手還是有一些基礎(chǔ)的開發(fā)者,這里都將為你提供一個系統(tǒng)而又親切的學習平臺。在這個

    2024年02月09日
    瀏覽(23)
  • 什么是異步編程?什么是回調(diào)地獄(callback hell)以及如何避免它?

    什么是異步編程?什么是回調(diào)地獄(callback hell)以及如何避免它?

    前端入門之旅:探索Web開發(fā)的奇妙世界 記得點擊上方或者右側(cè)鏈接訂閱本專欄哦 幾何帶你啟航前端之旅 歡迎來到前端入門之旅!這個專欄是為那些對Web開發(fā)感興趣、剛剛踏入前端領(lǐng)域的朋友們量身打造的。無論你是完全的新手還是有一些基礎(chǔ)的開發(fā)者,這里都將為你提供一

    2024年02月10日
    瀏覽(21)
  • promise及異步編程async await

    promise及異步編程async await

    ECMAScript 6 新增了正式的 Promise(期約)引用類型,支持優(yōu)雅地定義和組織異步邏輯。接下來幾個版本增加了使用 async 和 await 定義異步函數(shù)的機制 JavaScript 是單線程事件循環(huán)模型。異步行為是為了優(yōu)化因計算量大而時間長的操作,只要你不想為等待某個異步操作而阻塞

    2024年02月04日
    瀏覽(24)
  • 【前端】淺談async/await異步傳染性

    【前端】淺談async/await異步傳染性

    \\\"異步傳染性\\\"問題通常是指,當一個函數(shù)使用了async和await,其調(diào)用者也需要使用async和await處理異步操作,導(dǎo)致整個調(diào)用鏈都變成異步的。這種情況可能導(dǎo)致代碼變得更復(fù)雜,不易維護。 類似于C# try catch的層層上拋,在某一層catch 查了很多資料 ,對于這個問題說法還都不一樣

    2024年01月23日
    瀏覽(21)
  • 前端面試:【異步編程】Callback、Promise和Async/Await

    嗨,親愛的JavaScript探險家!在JavaScript開發(fā)的旅程中,你會經(jīng)常遇到異步編程的需求。為了處理異步操作,JavaScript提供了多種機制,包括Callbacks、Promises和Async/Await。本文將深入介紹這些機制,讓你能夠更好地處理異步任務(wù)。 1. Callbacks:傳統(tǒng)的異步方式 Callbacks是JavaScript中最早

    2024年02月11日
    瀏覽(99)
  • 異步編程的概念 以及async和await的工作原理

    一、引言 二、異步編程的基本概念 三、基于任務(wù)的異步模式(TAP) 四、async和await async的工作原理: await的工作原理: 五、異步方法的編寫和調(diào)用 六、異常處理 七、取消異步操作 八、性能考慮 九、案例:異步下載文件 十、結(jié)論 在.NET中,異步編程是一

    2024年04月16日
    瀏覽(44)
  • 微信小程序——異步請求使用async/await實現(xiàn)同步

    微信小程序——異步請求使用async/await實現(xiàn)同步

    ????????在小程序的開發(fā)中,我們知道網(wǎng)絡(luò)請求wx.requset是一個異步請求的API,當我們使用它時,會出現(xiàn)請求還沒有結(jié)束,我們下面寫的處理數(shù)據(jù)的代碼就已經(jīng)執(zhí)行了從而導(dǎo)致了我們寫的程序出現(xiàn)問題,那么我們該怎么解決這個問題呢?今天我們用async/await來實現(xiàn)一下吧。

    2024年02月11日
    瀏覽(26)
  • C#異步方法async/await的三種返回類型

    有群友問C#異步方法async返回值Task和void的區(qū)別?看似簡單,但不容易把它們用好。在C#中的異步編程已經(jīng)成為現(xiàn)代編程的標配,異步方法(async/await)是實現(xiàn)異步編程的一種常用方式。在異步方法中,可以使用 Task 或 void 作為返回類型,還可以使用ValueTask返回類型。本文將介紹

    2024年02月04日
    瀏覽(24)
  • Unity 中的 async/await:優(yōu)雅處理異步任務(wù)與協(xié)程

    內(nèi)容將會持續(xù)更新,有錯誤的地方歡迎指正,謝謝! ? Unity 中的 async/await:優(yōu)雅處理異步任務(wù)與協(xié)程Coroutine ? ? ? TechX 堅持將創(chuàng)新的科技帶給世界! 擁有更好的學習體驗 —— 不斷努力,不斷進步,不斷探索 TechX —— 心探索、心進取! 助力快速掌握 async/await 異步等待 為初

    2024年02月06日
    瀏覽(32)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包