chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙OS開發(fā)實(shí)例:【ArkTS類庫異步并發(fā)簡述Promise】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-04-02 18:37 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Promise和async/await提供異步并發(fā)能力,是標(biāo)準(zhǔn)的JS異步語法。異步代碼會(huì)被掛起并在之后繼續(xù)執(zhí)行,同一時(shí)間只有一段代碼執(zhí)行,適用于單次I/O任務(wù)的場(chǎng)景開發(fā),例如一次網(wǎng)絡(luò)請(qǐng)求、一次文件讀寫等操作。異步語法是一種編程語言的特性,允許程序在執(zhí)行某些操作時(shí)不必等待其完成,而是可以繼續(xù)執(zhí)行其他操作。

Promise是一種用于處理異步操作的對(duì)象,可以將異步操作轉(zhuǎn)換為類似于同步操作的風(fēng)格,以方便代碼編寫和維護(hù)。Promise提供了一個(gè)狀態(tài)機(jī)制來管理異步操作的不同階段,并提供了一些方法來注冊(cè)回調(diào)函數(shù)以處理異步操作的成功或失敗的結(jié)果。

Promise有三種狀態(tài):pending(進(jìn)行中)、fulfilled(已完成)和rejected(已拒絕)。Promise對(duì)象創(chuàng)建后處于pending狀態(tài),并在異步操作完成后轉(zhuǎn)換為fulfilled或rejected狀態(tài)。

最基本的用法是通過構(gòu)造函數(shù)實(shí)例化一個(gè)Promise對(duì)象,同時(shí)傳入一個(gè)帶有兩個(gè)參數(shù)的函數(shù),通常稱為executor函數(shù)。executor函數(shù)接收兩個(gè)參數(shù):resolve和reject,分別表示異步操作成功和失敗時(shí)的回調(diào)函數(shù)。例如,以下代碼創(chuàng)建了一個(gè)Promise對(duì)象并模擬了一個(gè)異步操作

搜狗高速瀏覽器截圖20240326151547.png

setTimeout(() = > {
    const randomNumber = Math.random();
    if (randomNumber > 0.5) {
      resolve(randomNumber);
    } else {
      reject(new Error('Random number is too small'));
    }
  }, 1000);
});
});

上述代碼中,setTimeout函數(shù)模擬了一個(gè)異步操作,并在1秒鐘后隨機(jī)生成一個(gè)數(shù)字。如果隨機(jī)數(shù)大于0.5,則執(zhí)行resolve回調(diào)函數(shù)并將隨機(jī)數(shù)作為參數(shù)傳遞;否則執(zhí)行reject回調(diào)函數(shù)并傳遞一個(gè)錯(cuò)誤對(duì)象作為參數(shù)。

Promise對(duì)象創(chuàng)建后,可以使用then方法和catch方法指定fulfilled狀態(tài)和rejected狀態(tài)的回調(diào)函數(shù)。then方法可接受兩個(gè)參數(shù),一個(gè)處理fulfilled狀態(tài)的函數(shù),另一個(gè)處理rejected狀態(tài)的函數(shù)。只傳一個(gè)參數(shù)則表示狀態(tài)改變就執(zhí)行,不區(qū)分狀態(tài)結(jié)果。使用catch方法注冊(cè)一個(gè)回調(diào)函數(shù),用于處理“失敗”的結(jié)果,即捕獲Promise的狀態(tài)改變?yōu)閞ejected狀態(tài)或操作失敗拋出的異常。例如:

promise.then(result = > {
  console.info(`Random number is ${result}`);
}).catch(error = > {
  console.error(error.message);
});

上述代碼中,then方法的回調(diào)函數(shù)接收Promise對(duì)象的成功結(jié)果作為參數(shù),并將其輸出到控制臺(tái)上。如果Promise對(duì)象進(jìn)入rejected狀態(tài),則catch方法的回調(diào)函數(shù)接收錯(cuò)誤對(duì)象作為參數(shù),并將其輸出到控制臺(tái)上。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 鴻蒙
    +關(guān)注

    關(guān)注

    60

    文章

    2617

    瀏覽量

    44031
  • 鴻蒙OS
    +關(guān)注

    關(guān)注

    0

    文章

    191

    瀏覽量

    4984
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    ArkTS語言基礎(chǔ)-解析

    ArkTS語言基礎(chǔ)是HarmonyOS系統(tǒng)上為應(yīng)用開發(fā)者提供的常用基礎(chǔ)能力,主要包含能力如下圖所示。 圖1 ArkTS語言基礎(chǔ)
    發(fā)表于 02-20 16:44

    鴻蒙原生應(yīng)用開發(fā)-ArkTS語言基礎(chǔ)單次I/O任務(wù)開發(fā)

    Promise和async/await提供異步并發(fā)能力,適用于單次I/O任務(wù)的場(chǎng)景開發(fā),本文以使用異步進(jìn)行單次文件寫入為例來提供指導(dǎo)。 實(shí)現(xiàn)
    發(fā)表于 03-04 14:07

    鴻蒙原生應(yīng)用開發(fā)-ArkTS語言基礎(chǔ)概述

    ArkTS語言基礎(chǔ)是HarmonyOS系統(tǒng)上為應(yīng)用開發(fā)者提供的常用基礎(chǔ)能力,主要包含能力如下圖所示。 1.提供異步
    發(fā)表于 03-05 15:42

    鴻蒙原生應(yīng)用開發(fā)-ArkTS語言基礎(chǔ)異步并發(fā)簡述async/await

    async/await是一種用于處理異步操作的Promise語法糖,使得編寫異步代碼變得更加簡單和易讀。通過使用async關(guān)鍵字聲明一個(gè)函數(shù)為異步函數(shù),并使用await關(guān)鍵字等待
    發(fā)表于 03-06 14:44

    鴻蒙原生應(yīng)用開發(fā)-ArkTS語言基礎(chǔ)異步并發(fā)簡述Promise

    Promise和async/await提供異步并發(fā)能力,是標(biāo)準(zhǔn)的JS異步語法。異步代碼會(huì)被掛起并在之后繼續(xù)執(zhí)行,同一時(shí)間只有一段代碼執(zhí)行,適
    發(fā)表于 03-07 15:46

    鴻蒙原生應(yīng)用開發(fā)-ArkTS語言基礎(chǔ)多線程@Concurrent裝飾器校驗(yàn)并發(fā)函數(shù)

    在使用TaskPool時(shí),執(zhí)行的并發(fā)函數(shù)需要使用該裝飾器修飾,否則無法通過相關(guān)校驗(yàn)。從API version 9開始,該裝飾器支持在ArkTS卡片中使用。 裝飾器說明 裝飾器使用示例 import
    發(fā)表于 03-18 10:30

    鴻蒙5開發(fā)寶藏案例分享---應(yīng)用并發(fā)設(shè)計(jì)

    ?** 鴻蒙并發(fā)編程實(shí)戰(zhàn)指南:解鎖ArkTS多線程黑科技** 嘿,開發(fā)者朋友們! 今天給大家扒一扒鴻蒙官方文檔里藏著的
    發(fā)表于 06-12 16:19

    什么是ArkTS?

    基礎(chǔ)能力示意圖 提供異步并發(fā)和多線程并發(fā)的能力。 支持Promise和async/aw
    發(fā)表于 06-17 06:24

    HarmonyOS如何使用異步并發(fā)能力進(jìn)行開發(fā)

    策略進(jìn)行優(yōu)化和開發(fā)ArkTS支持異步并發(fā)和多線程并發(fā)。 ● Promise和async/aw
    發(fā)表于 09-22 17:35

    HarmonyOS語言基礎(chǔ)開發(fā)指南上線啦!

    基礎(chǔ)開發(fā)指南為HarmonyOS應(yīng)用開發(fā)者提供了常用的基礎(chǔ)能力: ○ 提供異步并發(fā)和多線程
    發(fā)表于 10-18 16:36

    鴻蒙 OS 應(yīng)用開發(fā)初體驗(yàn)

    的 IDE、鴻蒙生態(tài)的開發(fā)語言 ArkTS,通過模擬器運(yùn)行起來了鴻蒙 OS 版 HelloWorld。對(duì)于已經(jīng)有移動(dòng)
    發(fā)表于 11-02 19:38

    鴻蒙OS開發(fā)實(shí)例:【ArkTS多線程I/O密集型任務(wù)開發(fā)

    使用異步并發(fā)可以解決單次I/O任務(wù)阻塞的問題,但是如果遇到I/O密集型任務(wù),同樣會(huì)阻塞線程中其它任務(wù)的執(zhí)行,這時(shí)需要使用多線程并發(fā)能力來進(jìn)行解決。 I/O密集型任務(wù)的性能重點(diǎn)通常不在于CPU
    的頭像 發(fā)表于 04-01 16:32 ?888次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>實(shí)例</b>:【<b class='flag-5'>ArkTS</b><b class='flag-5'>類</b><b class='flag-5'>庫</b>多線程I/O密集型任務(wù)<b class='flag-5'>開發(fā)</b>】

    鴻蒙OS開發(fā)實(shí)例:【ArkTS多線程@Concurrent裝飾器校驗(yàn)并發(fā)函數(shù)】

    在使用TaskPool時(shí),執(zhí)行的并發(fā)函數(shù)需要使用該裝飾器修飾,否則無法通過相關(guān)校驗(yàn)。從API version 9開始,該裝飾器支持在ArkTS卡片中使用。
    的頭像 發(fā)表于 04-02 14:45 ?1223次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>實(shí)例</b>:【<b class='flag-5'>ArkTS</b><b class='flag-5'>類</b><b class='flag-5'>庫</b>多線程@Concurrent裝飾器校驗(yàn)<b class='flag-5'>并發(fā)</b>函數(shù)】

    鴻蒙OS開發(fā)實(shí)例:【ArkTS異步并發(fā)async/await】

    async/await是一種用于處理異步操作的Promise語法糖,使得編寫異步代碼變得更加簡單和易讀。通過使用async關(guān)鍵字聲明一個(gè)函數(shù)為異步函數(shù),并使用await關(guān)鍵字等待
    的頭像 發(fā)表于 04-02 20:57 ?1491次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>實(shí)例</b>:【<b class='flag-5'>ArkTS</b><b class='flag-5'>類</b><b class='flag-5'>庫</b><b class='flag-5'>異步</b><b class='flag-5'>并發(fā)</b>async/await】

    鴻蒙OS開發(fā)實(shí)例:【ArkTS單次I/O任務(wù)開發(fā)

    Promise和async/await提供異步并發(fā)能力,適用于單次I/O任務(wù)的場(chǎng)景開發(fā),本文以使用異步進(jìn)行單次文件寫入為例來提供指導(dǎo)。
    的頭像 發(fā)表于 04-02 21:03 ?550次閱讀
    <b class='flag-5'>鴻蒙</b>原<b class='flag-5'>OS</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>實(shí)例</b>:【<b class='flag-5'>ArkTS</b><b class='flag-5'>類</b><b class='flag-5'>庫</b>單次I/O任務(wù)<b class='flag-5'>開發(fā)</b>】