空间 两个网站dw软件怎么制作网页自我介绍

张小明 2026/1/11 9:15:09
空间 两个网站,dw软件怎么制作网页自我介绍,网站推广哪个平台最好,响应式外贸网站建设【前言】 在某些功能场景#xff0c;比如实现一个本地搜索功能时#xff0c;可能需要支持中文搜索#xff0c;同时支持拼音搜索。这里就会涉及到两个功能点#xff0c;一个是中文转拼音#xff0c;一个是将中文进行分词。同时这里有个注意点如果调用系统接口进行批量分词…【前言】在某些功能场景比如实现一个本地搜索功能时可能需要支持中文搜索同时支持拼音搜索。这里就会涉及到两个功能点一个是中文转拼音一个是将中文进行分词。同时这里有个注意点如果调用系统接口进行批量分词时使用不当会导致UI卡顿。下面介绍下在鸿蒙next系统中怎么实现这两个功能以及怎么避免UI卡顿1、中文转拼音在系统接口中有个i18n的工具类该工具类提供了一个Transliterator工具类可以实现中文转拼音能力代码如下其中res1是包含声调的res2是不包含声调的let res1:string i18n.Transliterator.getInstance(Han-Latin).transform(中国) let res2:string i18n.Transliterator.getInstance(Latin-ASCII).transform(res1)2、分词在做功能搜索功能时会将功能名称分词出不同的词语来适配用户的搜索。这里系统提供了一个 分词功能textProcessing是系统分词的一个工具类代码如下代码将“词语搜索”四个字分词层“词语”和“搜索”两个词textProcessing.getWordSegment(词语搜索).then(wordSegments { let words wordSegments.map(wordSegment wordSegment.word) console.log(词语搜索 ${JSON.stringify(words)}) })3、分词的注意点这里要注意一点如果使用不当可能会造成UI界面的卡顿。在调用系统分词接口时实际是跨进程调用系统能力。如果我们一次性循环调用很多次分词接口由于系统的分词进程最大开两个线程处理分词。因此我们如果循环大量调用接口会导致我们app一直处于等待状态而且会影响UI的正常展示。这种阻塞即使我们在app中启动子线程去调用系统接口也没法起到效果。因为实际上我们跨进程调用分词接口时本身会启动一个子线程去调用真正造成UI卡顿的原因是我们循环大批量开启跨进程调用会导致app的线程资源耗尽导致我们app其他线程无法正常获取线程资源。比如会影响网络请求我们很多UI的展示依赖网络请求的返回值由于线程资源耗尽网络请求只能等待。从而影响UI正常展示。解决方法就是我们可以分批次调用系统接口比如每批次调用4次等到前面的处理完成后再继续下一批次调用。完整的代码实现如下这里首先在app子线程去做分词功能并在子线程中分批次调用。我们最终在app启动时调用SegmentUtil.segment();方法实现批量分词效果// 分词工具类开启子线程执行 import { textProcessing } from kit.NaturalLanguageKit import { PromiseBatchUtils } from ./PromiseBatchUtils import { taskpool } from kit.ArkTS export class SegmentUtil { public static async segment() { let segmentResult await taskpool.execute(segments) as Promisestring[][] console.log(segmentResult is ${JSON.stringify(segmentResult)}) } } Concurrent async function segments():Promisestring[][] { let arr:string[] [词语搜索,词语搜索,词语搜索,词语搜索,词语搜索,词语搜索,词语搜索,词语搜索,词语搜索,词语搜索,词语搜索,词语搜索] let arrPromise:(()Promisestring[])[] arr.map(str async () { let wordSegments await textProcessing.getWordSegment(词语搜索) return wordSegments.map(wordSegment wordSegment.word) }) let result await PromiseBatchUtils.runWithBatch(arrPromise, 4) return result } // 分批次调用系统分词 export class PromiseBatchUtils { public static async runWithBatchT(tasks:(() PromiseT)[], batchNum:number):PromiseT[] { let results:T[] [] let execute:Promisevoid[] [] let index 0 while (index tasks.length) { if (execute.length batchNum) { let taskIndex index console.log(start index ${taskIndex}) let executePromise tasks[taskIndex]() .then(result { results[taskIndex] result console.log(end index ${taskIndex}) }).finally(() { let executeIndex execute.indexOf(executePromise) if (executeIndex -1) { execute.splice(executeIndex,1) } }) execute.push(executePromise) } else { await Promise.race(execute) } } await Promise.all(execute) return results } }
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

律师事务所网站案例广告设计公司绩效考核

微信多设备登录技术解析:突破单设备限制的专业解决方案 【免费下载链接】WeChatPad 强制使用微信平板模式 项目地址: https://gitcode.com/gh_mirrors/we/WeChatPad 在移动办公和数字生活的双重需求下,微信的单设备登录限制已成为用户效率提升的重…

张小明 2026/1/3 0:00:54 网站建设

手机免费建立网站电商平台链接怎么弄

LangFlow 与 MITMProxy:构建可观察、可控制的 AI 工作流 在现代 AI 应用开发中,一个日益突出的问题是——我们越来越依赖外部 API 来驱动智能体决策,但对这些“黑箱”交互过程却缺乏足够的掌控力。比如,当你在 LangFlow 中拖拽几个…

张小明 2026/1/1 10:48:52 网站建设

有名的网站贵阳小程序开发软件公司

先锋磁性 PM2975A-1-4 概述先锋磁性(Pioneer Magnetic)的 PM2975A-1-4 是一款磁性元件或磁性材料产品,可能用于电子设备、电力转换或电磁应用。这类产品通常涉及电感器、变压器、磁芯或其他磁性组件,具体用途需结合型号参数进一步…

张小明 2026/1/1 10:10:38 网站建设

外贸做消防的网站wordpress赞助插件

告别臃肿:FreeRedis轻量级Redis客户端的性能突围之路 【免费下载链接】FreeRedis 项目地址: https://gitcode.com/gh_mirrors/fr/FreeRedis 你是否曾因传统Redis客户端的内存占用而苦恼?是否在资源受限的嵌入式环境中束手无策?FreeRe…

张小明 2026/1/1 10:10:34 网站建设

合肥专业建设网站网站开发的问题有哪些

如何用MouseTester全面检测鼠标性能:2025终极使用指南 【免费下载链接】MouseTester 项目地址: https://gitcode.com/gh_mirrors/mo/MouseTester MouseTester是一款免费开源的鼠标性能测试工具,采用C#语言开发,能精准检测鼠标点击响应…

张小明 2026/1/9 17:12:48 网站建设

做网站公司 陕西渭南软文广告案例分析

ESP32-CAM图传为何频频崩溃?一文讲透内存溢出的根源与实战解决方案你有没有遇到过这样的场景:刚把ESP32-CAM通电,摄像头开始工作,手机App上能看到清晰的画面——一切看起来都那么美好。可几秒钟后,设备突然重启&#x…

张小明 2026/1/1 11:37:36 网站建设