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

学做饺子馅上那个网站苏州注册公司代理公司

学做饺子馅上那个网站,苏州注册公司代理公司,凡科网上传网站,餐饮公司网站制作概述 AppStartup提供了一种简单高效的初始化组件的方式#xff0c;开发者可以使用AppStartup来显示的设置组件的初始化顺序以及之间的依赖关系#xff0c;支持异步初始化组件加速应用的启动时间。开发者需要分别为待初始化的组件实现AppStartup提供的 StartupTask 接口…概述 AppStartup提供了一种简单高效的初始化组件的方式开发者可以使用AppStartup来显示的设置组件的初始化顺序以及之间的依赖关系支持异步初始化组件加速应用的启动时间。开发者需要分别为待初始化的组件实现AppStartup提供的 StartupTask 接口并在 startup_config.json 中配置AppStartup之间的依赖关系每个StartupTask都是一个等待执行的启动任务启动框架将使用拓扑排序保证各个启动任务的执行顺序。 说明 启动框架只支持在entry中使用。 开发流程 开启启动框架AppStartup在 module.json5配置文件 配置文件中appStartup标签中指定启动框架配置文件的路径。编写启动框架配置文件在启动框架配置文件中依次添加各个待初始化组件的配置信息并指定启动框架参数的文件路径。为每个待初始化组件添加启动任务通过实现StartupTask接口启动框架将会按顺序执行初始化流程。设置启动框架参数在启动框架参数文件中设置超时时间和组件初始化的监听器等参数。 开发指导 开启启动框架AppStartup 开启启动框架后当应用启动时系统将会读取开发者实现的配置文件并检查是否存在循环依赖采用拓扑排序对其进行排序。开发者只需要在 module.json5配置文件 中配置appStartup标签, 并指定启动框架的配置文件路径即可开启启动框架。 {module: {name: entry,type: entry,...appStartup: $profile:startup_config,...} }编写启动框架配置文件 启动框架配置文件将为系统提供 StartupTask 的具体实现路径和参数设置从而进行读取并执行相应的启动任务。该文件为JSON格式应放在工程的resource目录下配置文件路径需要与 module.json5配置文件 中appStartup标签指定的路径一致。启动任务之间不允许存在循环依赖且每个启动任务的名称必须唯一。 示例代码如下。 {startupTasks: [{name: StartupTask_001,srcEntry: ./ets/startup/StartupTask_001.ets,dependencies: [StartupTask_002,StartupTask_003],runOnThread: taskPool,waitOnMainThread: false},{name: StartupTask_002,srcEntry: ./ets/startup/StartupTask_002.ets,dependencies: [StartupTask_004],runOnThread: taskPool,waitOnMainThread: false},{name: StartupTask_003,srcEntry: ./ets/startup/StartupTask_003.ets,dependencies: [StartupTask_004],runOnThread: taskPool,waitOnMainThread: false},{name: StartupTask_004,srcEntry: ./ets/startup/StartupTask_004.ets,runOnThread: taskPool,waitOnMainThread: false},{name: StartupTask_005,srcEntry: ./ets/startup/StartupTask_005.ets,dependencies: [StartupTask_006],runOnThread: mainThread,waitOnMainThread: true,excludeFromAutoStart: true},{name: StartupTask_006,srcEntry: ./ets/startup/StartupTask_006.ets,runOnThread: mainThread,waitOnMainThread: false,excludeFromAutoStart: true}],configEntry: ./ets/startup/StartupConfig.ets }图1 上述startup_config.json文件中启动任务依赖关系图 startup_config.json配置文件标签说明 属性名称含义数据类型是否可缺省startupTasks待初始化组件配置信息。对象数组该标签不可缺省。configEntryStartupConfig 文件路径。字符串该标签不可缺省。 startupTasks标签说明 属性名称含义数据类型是否可缺省name待初始化组件实现 StartupTask 接口的类名称。字符串该标签不可缺省。srcEntry需要加载的组件实现 StartupTask 接口的文件路径。字符串该标签不可缺省。dependencies当前组件所依赖组件实现 StartupTask 接口的类名称数组。对象数组该标签可缺省缺省值为空。excludeFromAutoStart是否排除自动模式详细介绍可以查看 组件启动模式 。* true手动模式。false自动模式。布尔值该标签可缺省缺省值为false。waitOnMainThread是否在主线程等待。* true主线程等待组件初始化。false主线程不等待组件初始化。布尔值该标签可缺省缺省值为true。runOnThread执行初始化所在的线程。* mainThread在主线程中执行。 * taskPool在异步线程中执行。字符串该标签可缺省缺省值为mainThread。 为每个待初始化组件添加启动任务 一个 StartupTask 代表一个启动任务启动框架通过StartupTask来执行组件初始化的逻辑StartupTask有 init 和 onDependencyCompleted 两个方法。每个启动任务的功能应尽量单一该文件路径应与 startup_config 中配置的路径一致。StartupTask必须添加 Sendable 注解。以StartupTask_001为例示例代码如下。 import { StartupTask, common } from kit.AbilityKit; import { hilog } from kit.PerformanceAnalysisKit;Sendable export default class StartupTask_001 extends StartupTask {constructor() {super();}async init(context: common.AbilityStageContext) {hilog.info(0x0000, testTag, StartupTask_001 init.);return StartupTask_001;}onDependencyCompleted(dependence: string, result: Object): void {hilog.info(0x0000, testTag, StartupTask_001 onDependencyCompleted, dependence: %{public}s, result: %{public}s,dependence, JSON.stringify(result));} }设置启动框架参数 StartupConfigEntry 为启动框架的整体公用配置可以设置超时时间和组件初始化的监听器等参数监听器可以监听启动任务是否执行成功。启动框架需要分别实现 StartupConfig 与 StartupListener 文件路径需与 startup_config 中配置的StartupConfig标签路径一致。 import { StartupConfig, StartupConfigEntry, StartupListener } from kit.AbilityKit; import { hilog } from kit.PerformanceAnalysisKit; import { BusinessError } from kit.BasicServicesKit;export default class MyStartupConfigEntry extends StartupConfigEntry {onConfig() {hilog.info(0x0000, testTag, onConfig);let onCompletedCallback (error: BusinessErrorvoid) {hilog.info(0x0000, testTag, onCompletedCallback);if (error) {hilog.info(0x0000, testTag, onCompletedCallback: %{public}d, message: %{public}s, error.code, error.message);} else {hilog.info(0x0000, testTag, onCompletedCallback: success.);}};let startupListener: StartupListener {onCompleted: onCompletedCallback};let config: StartupConfig {timeoutMs: 10000,startupListener: startupListener};return config;} }组件启动模式 AppStartup分别提供了自动和手动两种方式来初始化组件自动模式会在abilityStage的onCreate前执行组件初始化。当某些组件并不需要应用启动前就初始化而是使用时才进行初始化开发者可以根据业务需求在应用启动后进行手动调用执行初始化。 自动模式 采用自动模式开发者可以不设置 startup_config 中excludeFromAutoStart标签或设置为falseexcludeFromAutoStart默认为false。 {startupTasks: [{name: StartupTask_001,...excludeFromAutoStart: false},...],... }手动模式 手动模式开发者可以调用 StartupManager 中的 run 方法来启动组件的初始化。以onCreate生命周期为例示例代码如下。 import { AbilityConstant, UIAbility, Want, startupManager } from kit.AbilityKit; import { hilog } from kit.PerformanceAnalysisKit; import { BusinessError } from kit.BasicServicesKit;export default class EntryAbility extends UIAbility {onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {hilog.info(0x0000, testTag, %{public}s, Ability onCreate);let startParams [StartupTask_005, StartupTask_006];try {startupManager.run(startParams).then(() {console.log(StartupTest startupManager run then, startParams );}).catch((error: BusinessError) {console.info(StartupTest promise catch error, error JSON.stringify(error));console.info(StartupTest promise catch error, startParams JSON.stringify(startParams));})} catch (error) {let errMsg JSON.stringify(error);let errCode: number error.code;console.log(Startup catch error , errCode errCode);console.log(Startup catch error ,error errMsg);}}// ... }鸿蒙全栈开发全新学习指南 也为了积极培养鸿蒙生态人才让大家都能学习到鸿蒙开发最新的技术针对一些在职人员、0基础小白、应届生/计算机专业、鸿蒙爱好者等人群整理了一套纯血版鸿蒙HarmonyOS Next全栈开发技术的学习路线【包含了大厂APP实战项目开发】。 本路线共分为四个阶段 第一阶段鸿蒙初中级开发必备技能 第二阶段鸿蒙南北双向高工技能基础gitee.com/MNxiaona/733GH 第三阶段应用开发中高级就业技术 第四阶段全网首发-工业级南向设备开发就业技术gitee.com/MNxiaona/733GH 鸿蒙开发面试真题含参考答案:gitee.com/MNxiaona/733GH 写在最后 如果你觉得这篇内容对你还蛮有帮助我想邀请你帮我三个小忙点赞转发有你们的 『点赞和评论』才是我创造的动力。关注小编同时可以期待后续文章ing不定期分享原创知识。想要获取更多完整鸿蒙最新学习资源请移步前往小编gitee.com/MNxiaona/733GH
http://www.dnsts.com.cn/news/211108.html

相关文章:

  • 做网站哪好成都网站设计开发做得好
  • 网站建设系统教程cms下载
  • 医院网站建设深圳最好的网站开发公司电话
  • 邱县企业做网站推广企业网站不备案
  • 做公司网站的理念怎样做网络推广产品
  • 北控水务建设发展有限公司网站wordpress 文章发布时间
  • 购物网站设计需要哪些模块免费咨询心理医生平台
  • 网站建设 科目青岛小型网站建设
  • 行业自建网站手机搭建网站教程视频教程
  • 商城网站里可以再放cms吗下载页面设计图片
  • 橱柜网站源码wordpress批量提交rss
  • 无锡做百度网站汕头搭建建站
  • 新网站开发费用如何选择锦州网站建设
  • 给网站加织梦后台龙岗网站设计市场
  • 网站logo如何做清晰中国最知名的网站建设公司
  • 门户网站 模块城乡建设主管部门官方网站
  • 网站建设工作有底薪吗七台河北京网站建设
  • 上海新站专家网络公司个人网站备案所需材料
  • 微网站建设及微信公众号子网站建设工作
  • 金华网站制作价格商标买卖
  • 织梦做的网站页面打不开ui界面设计总结心得
  • 芜湖市网站建设公司电子商务网站规划的原则有哪些
  • 网站建设 尚瑞科技腾讯企点是干嘛的
  • 鼎湖网站建设强的网站建设
  • 网站建设 部署与发布题库泰安齐鲁人才网
  • 动态购物网站开发源代码做网站用html5
  • 背景网站建设公司天津个人网站建设
  • win7下如何建设网站建网站公司郑州
  • 北京建设项目管理有限公司网站企业百度网站怎么做
  • 门户网站建设企业网站正能量晚上不用下载进入免费