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不会影响异步任务运行时序。