当前位置: 首页 > news >正文

个人网站备案内容网站升级方案

个人网站备案内容,网站升级方案,wordpress能放视频播放器,html代码怎么写1、Sendable对象的序列化与反序列化 Sendable对象的简单介绍参考文章#xff1a;鸿蒙多线程开发——线程间数据通信对象03(sendable) 与JSON对象的序列化和反序列化类似#xff0c;Sendable对象的序列化和反序列化是通过ArkTs提供的ASON工具来完成。 与JSON类似#xff0…1、Sendable对象的序列化与反序列化 Sendable对象的简单介绍参考文章鸿蒙多线程开发——线程间数据通信对象03(sendable) 与JSON对象的序列化和反序列化类似Sendable对象的序列化和反序列化是通过ArkTs提供的ASON工具来完成。 与JSON类似我们可以通过ASON.stringify方法将对象转换成字符串也可以通过ASON.parse方法将字符串转成Sendable对象以便此对象在并发任务间进行高性能引用传递。 需要注意的是 ASON.parse默认生成的Sendable对象不支持增删属性。如果需要支持返回对象的布局可变可以指定返回类型为MAP此时会全部返回collections.Map对象支持增删属性。 一个序列化ASON.stringify使用示例如下 import { ArkTSUtils, collections } from kit.ArkTS;// ...let arr new collections.Array(1, 2, 3);let str ArkTSUtils.ASON.stringify(arr);console.info(str); // 期望输出: [1,2,3]一个反序列化ASON.parse使用示例如下​​​​​​​ import { lang } from kit.ArkTS;import { ArkTSUtils, collections } from kit.ArkTS;type ISendable lang.ISendable; let jsonText  {name: John, age: 30, city: ChongQing};let obj  ArkTSUtils.ASON.parse(jsonText) as ISendable;console.info((obj as object)?.[name]); // 输出: Johnconsole.info((obj as object)?.[age]); // 输出: 30console.info((obj as object)?.[city]); // 输出: ChongQing反序列化时也可以额外传入Option字段示例如下​​​​​​​ import { lang } from kit.ArkTS;import { ArkTSUtils, collections } from kit.ArkTS;type ISendable lang.ISendable;let options: ArkTSUtils.ASON.ParseOptions { bigIntMode: ArkTSUtils.ASON.BigIntMode.PARSE_AS_BIGINT, parseReturnType: ArkTSUtils.ASON.ParseReturnType.OBJECT,}let numberText {largeNumber:112233445566778899};let numberObj ArkTSUtils.ASON.parse(numberText,undefined,options) as ISendable;console.info((numberObj as object)?.[largeNumber]);// 期望输出: 112233445566778899 ASON工具提供了的两个序列化和反序列化接口定义如下​​​​​​​ // 序列化ISendable对象stringify(value: ISendable | null | undefined): string// 反序列化ISendable对象parse(text: string, reviver?: Transformer, options?: ParseOptions): ISendable | nullparse函数还有两个可选参数reviver、options。含义与定义介绍如下 reviver?: Transformer 转换函数传入该参数可以用来修改解析生成的原始值。默认值是undefined。目前只支持传入undefined。Transformer类型定义如下​​​​​​​ // this在解析的键值对所属的对象。key属性名。value: 在解析的键值对d的值type Transformer (this: ISendable, key: string, value: ISendable | undefined | null) ISendable | undefined | null options?: ParseOptions 解析的配置传入该参数可以用来控制解析生成的结果类型。默认值是undefined。ParseOptions类型定义如下​​​​​​​ struct ParseOptions { bigIntMode: BigIntMode; // 定义处理BigInt的模式。 parseReturnType: ParseReturnType; // 定义解析结果的返回类型。}// 定义处理BigInt的模式枚举enum BigIntMode { DEFAULT 0; // 不支持BigInt。 PARSE_AS_BIGINT 1; // 当整数小于-(2^53-1)或大于(2^53-1)时解析为BigInt。 ALWAYS_PARSE_AS_BIGINT  2; // 所有整数都解析为BigInt。}enum ParseReturnType { OBJECT  0; // 返回Sendable Object对象。}2、Sendable对象冻结 Sendable对象支持冻结操作冻结后的对象变成只读对象不能增删改属性因此在多个并发实例间访问均不需要加锁可以通过调用Object.freeze接口冻结对象。 使用示例如下 step 1 供ts文件封装Object.freeze方法。​​​​​​​ // helper.tsexport function freezeObj(obj: any) { Object.freeze(obj);} step 2 通过调用freeze方法冻结对象并将对象发送给子线程。​​​​​​​ // Index.etsimport { freezeObj } from ./helper;import { worker } from kit.ArkTS;Sendableexport class GlobalConfig { // 一些配置属性与方法 init() { // 初始化相关逻辑 freezeObj(this); // 初始化完成后冻结当前对象 }}EntryComponentstruct Index { build() { Column() { Text(Sendable freezeObj Test) .id(HelloWorld) .fontSize(50) .fontWeight(FontWeight.Bold) .onClick(() { let gConifg new GlobalConfig(); gConifg.init(); const workerInstance new worker.ThreadWorker(entry/ets/workers/Worker.ets, { name: Worker1 }); workerInstance.postMessage(gConifg); }) } .height(100%) .width(100%) }} step 3 子线程不加锁直接操作对象。​​​​​​​ // Worker.etsimport { ErrorEvent, MessageEvents, ThreadWorkerGlobalScope, worker } from kit.ArkTS;import { GlobalConfig } from ../pages/Index;const workerPort: ThreadWorkerGlobalScope worker.workerPort;workerPort.onmessage (e: MessageEvents) { let gConfig: GlobalConfig e.data; // 使用gConfig对象}
http://www.dnsts.com.cn/news/113988.html

相关文章:

  • 网站链接结构买卖网交易平台
  • 超链接到网站怎么做视频文件下载网站开发是在电脑上打出来的资料么
  • 4s店网站建设压缩图片在线网站免费
  • 怎样学做网站win10网络服务都未运行
  • 做58网站空调维修接单怎么样宝安网站建设推广
  • 网页设计教程期末教程北京网站优化培训
  • 电商网站活动推广怎样才能做好网络推广
  • 免费建单页网站毕业设计网站只做前端行不行
  • 受欢迎的杭州网站建设微信盲盒小程序搭建
  • dedecms 网站搬家网站开发课程论文
  • 我做网站推广担路网提供网站建设
  • 石家庄论坛建站模板亚马逊雨林的资料
  • wordpress自动发布网站上海智能网站建设平台
  • 外贸网站收录工具做网站ps笔记本电脑
  • 自适应式网站wordpress点击显示微信二维码
  • 商城建设网站策划怎样建设学校网站
  • 人才市场网站源码网站初期建设方案
  • 营销型网站公司排名北京新闻最新消息
  • 上海网站建设的价格广州网站建设q.479185700強
  • 广州网站推广联盟制作荧光字网站
  • 短故事网站模板网站建设宣传 mp4
  • 自己做模板网站网站在线提交询盘系统 能直接发到邮箱
  • ps为什么做不了视频网站氧气瓶网站建设
  • 做机械设计图纸找什么网站?工业设计在线官网
  • 海外购物网站排名定制商品的网站建设
  • 知乎,闲鱼网站建设和网站运营贵安建设厅网站
  • 银川网站建设那家好自建小程序商城
  • 怀化优化网站排名PHP网站开发都需要学什么
  • 做公司网站的企业网页qq登陆保护在哪里
  • 玉树网站建设公司品牌策划书模板范文