harmony 鸿蒙验证示例代码同源–正常场景

  • 2025-06-12
  • 浏览 (6)

验证示例代码同源–正常场景

前提:同一文档中,如果出现多次引用同一段代码,则引用代码必须完全相同

引用全量代码

ID无嵌套,代码完全一致

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);
})

ID无嵌套,整段代码缩进不一致

  • list 1
  • list 2 ts 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); })
  • list 3

ID存在嵌套

import { BusinessError } from '@kit.BasicServicesKit';

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);
})

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

引用部分代码(Exclude字段)

内容完全一致

import { taskpool } from '@kit.ArkTS';

// 跨线程并发任务
@Concurrent
async function produce(): Promise<number> {
  // 添加生产相关逻辑
  console.info('producing...');
  return Math.random();
}

class Consumer {
  public consume(value: Object) {
    // 添加消费相关逻辑
    console.info('consuming value: ' + value);
  }
}

@Entry
@Component
struct Index {
  @State message: string = 'Hello World';

  build() {
    Row() {
      Column() {
        Text(this.message)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
        Button() {
          Text('start')
        }.onClick(() => {
          let produceTask: taskpool.Task = new taskpool.Task(produce);
          let consumer: Consumer = new Consumer();
          for (let index: number = 0; index < 10; index++) {
            // 执行生产异步并发任务
            taskpool.execute(produceTask).then((res: Object) => {
              consumer.consume(res);
            }).catch((e: Error) => {
              console.error(e.message);
            })
          }
        })
        .width('20%')
        .height('20%')
      }
      .width('100%')
    }
    .height('100%')
  }
}

你可能感兴趣的鸿蒙文章

harmony 鸿蒙验证示例代码同源–异常场景1

harmony 鸿蒙验证示例代码同源–异常场景2

harmony 鸿蒙验证示例代码同源–异常场景3

harmony 鸿蒙验证示例代码同源–异常场景4

harmony 鸿蒙验证示例代码同源–异常场景5

harmony 鸿蒙异步并发 (Promise和async/await)

harmony 鸿蒙多线程并发概述

harmony 鸿蒙TaskPool简介

0  赞