1# ArkTS方舟编程语言Changelog 2 3## cl.ArkTS.1 延迟加载(lazy import)影响异步任务执行时序变更为不影响异步任务执行时序 4 5**访问级别** 6 7其他 8 9**变更原因** 10 11延迟加载(lazy import)特性在测试过程中发现问题,在异步任务中使用到lazy import的变量,会导致异步任务的运行时序发生改变,与预期不符。 12 13**变更影响** 14 15该变更为不兼容变更。 16 17变更前: 在异步任务中使用到lazy import的变量,会导致异步任务的运行时序发生改变,与预期不符。 18 19变更后: 在异步任务中使用到lazy import的变量,不会导致异步任务运行的时序发生改变。 20 21**起始 API Level** 22 2312 24 25**变更发生版本** 26 27从OpenHarmony SDK 5.0.0.56 版本开始。 28 29**变更的接口/组件** 30 31不涉及 32 33**适配指导** 34 35排查异步任务中直接或间接使用lazy import变量的场景,该功能的时序可能会发生改变。 36 37例如: 38```typescript 39// myLog.ets 40export class MyLog { 41 static log(s:string) { 42 console.log(s); 43 } 44} 45 46// test.ets 47import lazy { MyLog } from './myLog' 48 49async function asyncFunc(f?:string): Promise<number> { 50 MyLog.log("asyncFunc start"); 51 return new Promise(resolve => { 52 resolve(0); 53 }); 54} 55export async function taskTest() { 56 MyLog.log("taskTest start"); 57 asyncFunc().then((res) => { 58 MyLog.log("asyncFunc then"); 59 }); 60 MyLog.log("taskTest end"); 61} 62``` 63该用例预期输出为: 64``` 65taskTest start 66asyncFunc start 67taskTest end 68asyncFunc then 69``` 70但是由于lazy import影响异步任务运行时序的问题,该用例的实际输出为: 71``` 72taskTest start 73asyncFunc start 74asyncFunc then 75taskTest end 76``` 77本变更修复该问题,使得lazy import不会影响异步任务运行时序。