#鸿蒙通关秘籍#如何在鸿蒙开发中使用Promise模式实现异步操作?

HarmonyOS
1天前
浏览
收藏 0
回答 2
待解决
回答 2
按赞同
/
按时间
一路向北545
const promise: Promise<number> = new Promise((resolve: Function, reject: Function) => {
setTimeout(() => {
  const randomNumber: number = Math.random();
  if (randomNumber > 0.5) {
    resolve(randomNumber);
  } else {
    reject(new Error('Random number is too small'));
  }
}, 1000);
})

import { BusinessError } from '@ohos.base';

promise.then((result: number) => {
 console.info(`Random number is ${result}`);
}).catch((error: BusinessError) => {
 console.error(error.message);
});
分享
微博
QQ
微信
回复
1天前
时光笔BI

使用Promise模式处理异步操作可以将代码编写得更加简洁和易读。创建Promise对象时,需要传入一个executor函数,该函数使用两个参数resolve和reject。

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

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

在这段代码中,如果随机数大于0.5,则调用resolve并传递结果;否则调用reject并传递一个错误对象。

分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS关于异步Promise使用问题
437浏览 • 1回复 待解决