1# Runninglock锁<a name="ZH-CN_TOPIC_0000001164290736"></a> 2 3> **说明:** 4>从 API Version 7 开始支持。 5 6## 导入模块<a name="zh-cn_topic_0000001209249145_s56d19203690d4782bfc74069abb6bd71"></a> 7 8``` 9import runninglock from '@runninglock'; 10``` 11 12## 权限<a name="zh-cn_topic_0000001209249145_section11257113618419"></a> 13 14申请、使用锁的权限:ohos.permission.RUNNING\_LOCK 15 16## RunningLockType<a name="zh-cn_topic_0000001209249145_section7299123218370"></a> 17 18Runninglock锁的类型。 19 20<a name="zh-cn_topic_0000001209249145_table1540155452420"></a> 21<table><thead align="left"><tr id="zh-cn_topic_0000001209249145_row1947713549244"><th class="cellrowborder" valign="top" width="30.78%" id="mcps1.1.4.1.1"><p id="zh-cn_topic_0000001209249145_p74771754102410"><a name="zh-cn_topic_0000001209249145_p74771754102410"></a><a name="zh-cn_topic_0000001209249145_p74771754102410"></a>名称</p> 22</th> 23<th class="cellrowborder" valign="top" width="11.52%" id="mcps1.1.4.1.2"><p id="zh-cn_topic_0000001209249145_p1047755412411"><a name="zh-cn_topic_0000001209249145_p1047755412411"></a><a name="zh-cn_topic_0000001209249145_p1047755412411"></a>默认值</p> 24</th> 25<th class="cellrowborder" valign="top" width="57.699999999999996%" id="mcps1.1.4.1.3"><p id="zh-cn_topic_0000001209249145_p12478954132419"><a name="zh-cn_topic_0000001209249145_p12478954132419"></a><a name="zh-cn_topic_0000001209249145_p12478954132419"></a>描述</p> 26</th> 27</tr> 28</thead> 29<tbody><tr id="zh-cn_topic_0000001209249145_row1247811541240"><td class="cellrowborder" valign="top" width="30.78%" headers="mcps1.1.4.1.1 "><p id="zh-cn_topic_0000001209249145_p11478654162419"><a name="zh-cn_topic_0000001209249145_p11478654162419"></a><a name="zh-cn_topic_0000001209249145_p11478654162419"></a>BACKGROUND</p> 30</td> 31<td class="cellrowborder" valign="top" width="11.52%" headers="mcps1.1.4.1.2 "><p id="zh-cn_topic_0000001209249145_p9478135414243"><a name="zh-cn_topic_0000001209249145_p9478135414243"></a><a name="zh-cn_topic_0000001209249145_p9478135414243"></a>1</p> 32</td> 33<td class="cellrowborder" valign="top" width="57.699999999999996%" headers="mcps1.1.4.1.3 "><p id="zh-cn_topic_0000001209249145_p12478654172415"><a name="zh-cn_topic_0000001209249145_p12478654172415"></a><a name="zh-cn_topic_0000001209249145_p12478654172415"></a>阻止系统休眠的锁。</p> 34</td> 35</tr> 36<tr id="zh-cn_topic_0000001209249145_row184789546249"><td class="cellrowborder" valign="top" width="30.78%" headers="mcps1.1.4.1.1 "><p id="zh-cn_topic_0000001209249145_p1971014525154"><a name="zh-cn_topic_0000001209249145_p1971014525154"></a><a name="zh-cn_topic_0000001209249145_p1971014525154"></a>PROXIMITY_SCREEN_CONTROL</p> 37</td> 38<td class="cellrowborder" valign="top" width="11.52%" headers="mcps1.1.4.1.2 "><p id="zh-cn_topic_0000001209249145_p570945210150"><a name="zh-cn_topic_0000001209249145_p570945210150"></a><a name="zh-cn_topic_0000001209249145_p570945210150"></a>2</p> 39</td> 40<td class="cellrowborder" valign="top" width="57.699999999999996%" headers="mcps1.1.4.1.3 "><p id="zh-cn_topic_0000001209249145_p1470645211154"><a name="zh-cn_topic_0000001209249145_p1470645211154"></a><a name="zh-cn_topic_0000001209249145_p1470645211154"></a>通过接近或者远离状态来控制亮灭屏的锁。</p> 41</td> 42</tr> 43</tbody> 44</table> 45 46## runninglock.isRunningLockTypeSupported<a name="zh-cn_topic_0000001209249145_section192192415554"></a> 47 48isRunningLockTypeSupported\(type: RunningLockType, callback: AsyncCallback<boolean\>\): void 49 50查询系统是否支持该类型的锁。 51 52- 参数: 53 54 <a name="zh-cn_topic_0000001209249145_table69661135912"></a> 55 <table><thead align="left"><tr id="zh-cn_topic_0000001209249145_row149668318915"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="zh-cn_topic_0000001209249145_p7966738914"><a name="zh-cn_topic_0000001209249145_p7966738914"></a><a name="zh-cn_topic_0000001209249145_p7966738914"></a>参数名</p> 56 </th> 57 <th class="cellrowborder" valign="top" width="27.74%" id="mcps1.1.5.1.2"><p id="zh-cn_topic_0000001209249145_p296713699"><a name="zh-cn_topic_0000001209249145_p296713699"></a><a name="zh-cn_topic_0000001209249145_p296713699"></a>类型</p> 58 </th> 59 <th class="cellrowborder" valign="top" width="11.200000000000001%" id="mcps1.1.5.1.3"><p id="zh-cn_topic_0000001209249145_p196718315911"><a name="zh-cn_topic_0000001209249145_p196718315911"></a><a name="zh-cn_topic_0000001209249145_p196718315911"></a>必填</p> 60 </th> 61 <th class="cellrowborder" valign="top" width="46.239999999999995%" id="mcps1.1.5.1.4"><p id="zh-cn_topic_0000001209249145_p9967231197"><a name="zh-cn_topic_0000001209249145_p9967231197"></a><a name="zh-cn_topic_0000001209249145_p9967231197"></a>说明</p> 62 </th> 63 </tr> 64 </thead> 65 <tbody><tr id="zh-cn_topic_0000001209249145_row99671533914"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="zh-cn_topic_0000001209249145_p134721811816"><a name="zh-cn_topic_0000001209249145_p134721811816"></a><a name="zh-cn_topic_0000001209249145_p134721811816"></a>type</p> 66 </td> 67 <td class="cellrowborder" valign="top" width="27.74%" headers="mcps1.1.5.1.2 "><p id="zh-cn_topic_0000001209249145_p11967433914"><a name="zh-cn_topic_0000001209249145_p11967433914"></a><a name="zh-cn_topic_0000001209249145_p11967433914"></a>RunningLockType</p> 68 </td> 69 <td class="cellrowborder" valign="top" width="11.200000000000001%" headers="mcps1.1.5.1.3 "><p id="zh-cn_topic_0000001209249145_p19671336916"><a name="zh-cn_topic_0000001209249145_p19671336916"></a><a name="zh-cn_topic_0000001209249145_p19671336916"></a>是</p> 70 </td> 71 <td class="cellrowborder" valign="top" width="46.239999999999995%" headers="mcps1.1.5.1.4 "><p id="zh-cn_topic_0000001209249145_p69671631796"><a name="zh-cn_topic_0000001209249145_p69671631796"></a><a name="zh-cn_topic_0000001209249145_p69671631796"></a>需要查询的锁的类型。</p> 72 </td> 73 </tr> 74 <tr id="zh-cn_topic_0000001209249145_row10192174731012"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="zh-cn_topic_0000001209249145_p61933477103"><a name="zh-cn_topic_0000001209249145_p61933477103"></a><a name="zh-cn_topic_0000001209249145_p61933477103"></a>callback</p> 75 </td> 76 <td class="cellrowborder" valign="top" width="27.74%" headers="mcps1.1.5.1.2 "><p id="zh-cn_topic_0000001209249145_p1193104791012"><a name="zh-cn_topic_0000001209249145_p1193104791012"></a><a name="zh-cn_topic_0000001209249145_p1193104791012"></a>AsyncCallback<boolean></p> 77 </td> 78 <td class="cellrowborder" valign="top" width="11.200000000000001%" headers="mcps1.1.5.1.3 "><p id="zh-cn_topic_0000001209249145_p1919313476105"><a name="zh-cn_topic_0000001209249145_p1919313476105"></a><a name="zh-cn_topic_0000001209249145_p1919313476105"></a>是</p> 79 </td> 80 <td class="cellrowborder" valign="top" width="46.239999999999995%" headers="mcps1.1.5.1.4 "><p id="zh-cn_topic_0000001209249145_p81931947161019"><a name="zh-cn_topic_0000001209249145_p81931947161019"></a><a name="zh-cn_topic_0000001209249145_p81931947161019"></a>指定的callback回调方法,用于获取返回值。</p> 81 <p id="zh-cn_topic_0000001209249145_p1189279101115"><a name="zh-cn_topic_0000001209249145_p1189279101115"></a><a name="zh-cn_topic_0000001209249145_p1189279101115"></a>callback返回值:支持返回true,不支持返回false。</p> 82 </td> 83 </tr> 84 </tbody> 85 </table> 86 87- 示例: 88 89 ``` 90 runningLock.isRunningLockTypeSupported(runningLock.RunningLockType.BACKGROUND, (error, supported) => { 91 if (typeof error === "undefined") { 92 console.info('BACKGROUND support status is ' + supported); 93 done(); 94 } else { 95 console.log('error: ' + error); 96 done(); 97 } 98 }) 99 ``` 100 101 102## runninglock.isRunningLockTypeSupported<a name="zh-cn_topic_0000001209249145_section517513334611"></a> 103 104isRunningLockTypeSupported\(type: RunningLockType\): Promise<boolean\> 105 106查询系统是否支持该类型的锁。 107 108- 参数: 109 110 <a name="zh-cn_topic_0000001209249145_table12266112710718"></a> 111 <table><thead align="left"><tr id="zh-cn_topic_0000001209249145_row626618271679"><th class="cellrowborder" valign="top" width="15.1%" id="mcps1.1.5.1.1"><p id="zh-cn_topic_0000001209249145_p626612710712"><a name="zh-cn_topic_0000001209249145_p626612710712"></a><a name="zh-cn_topic_0000001209249145_p626612710712"></a>参数名</p> 112 </th> 113 <th class="cellrowborder" valign="top" width="21.55%" id="mcps1.1.5.1.2"><p id="zh-cn_topic_0000001209249145_p826613271875"><a name="zh-cn_topic_0000001209249145_p826613271875"></a><a name="zh-cn_topic_0000001209249145_p826613271875"></a>类型</p> 114 </th> 115 <th class="cellrowborder" valign="top" width="10.100000000000001%" id="mcps1.1.5.1.3"><p id="zh-cn_topic_0000001209249145_p142678273718"><a name="zh-cn_topic_0000001209249145_p142678273718"></a><a name="zh-cn_topic_0000001209249145_p142678273718"></a>必填</p> 116 </th> 117 <th class="cellrowborder" valign="top" width="53.25%" id="mcps1.1.5.1.4"><p id="zh-cn_topic_0000001209249145_p1926718271072"><a name="zh-cn_topic_0000001209249145_p1926718271072"></a><a name="zh-cn_topic_0000001209249145_p1926718271072"></a>说明</p> 118 </th> 119 </tr> 120 </thead> 121 <tbody><tr id="zh-cn_topic_0000001209249145_row162676272717"><td class="cellrowborder" valign="top" width="15.1%" headers="mcps1.1.5.1.1 "><p id="zh-cn_topic_0000001209249145_p1826716272716"><a name="zh-cn_topic_0000001209249145_p1826716272716"></a><a name="zh-cn_topic_0000001209249145_p1826716272716"></a>type</p> 122 </td> 123 <td class="cellrowborder" valign="top" width="21.55%" headers="mcps1.1.5.1.2 "><p id="zh-cn_topic_0000001209249145_p42673277712"><a name="zh-cn_topic_0000001209249145_p42673277712"></a><a name="zh-cn_topic_0000001209249145_p42673277712"></a>RunningLockType</p> 124 </td> 125 <td class="cellrowborder" valign="top" width="10.100000000000001%" headers="mcps1.1.5.1.3 "><p id="zh-cn_topic_0000001209249145_p426792717710"><a name="zh-cn_topic_0000001209249145_p426792717710"></a><a name="zh-cn_topic_0000001209249145_p426792717710"></a>是</p> 126 </td> 127 <td class="cellrowborder" valign="top" width="53.25%" headers="mcps1.1.5.1.4 "><p id="zh-cn_topic_0000001209249145_p1426717270710"><a name="zh-cn_topic_0000001209249145_p1426717270710"></a><a name="zh-cn_topic_0000001209249145_p1426717270710"></a>需要查询的锁的类型。</p> 128 </td> 129 </tr> 130 </tbody> 131 </table> 132 133- 返回值: 134 135 <a name="zh-cn_topic_0000001209249145_table82682027272"></a> 136 <table><thead align="left"><tr id="zh-cn_topic_0000001209249145_row92681627972"><th class="cellrowborder" valign="top" width="25.569999999999997%" id="mcps1.1.3.1.1"><p id="zh-cn_topic_0000001209249145_p19268192715713"><a name="zh-cn_topic_0000001209249145_p19268192715713"></a><a name="zh-cn_topic_0000001209249145_p19268192715713"></a>类型</p> 137 </th> 138 <th class="cellrowborder" valign="top" width="74.42999999999999%" id="mcps1.1.3.1.2"><p id="zh-cn_topic_0000001209249145_p22684273719"><a name="zh-cn_topic_0000001209249145_p22684273719"></a><a name="zh-cn_topic_0000001209249145_p22684273719"></a>说明</p> 139 </th> 140 </tr> 141 </thead> 142 <tbody><tr id="zh-cn_topic_0000001209249145_row1926882720712"><td class="cellrowborder" valign="top" width="25.569999999999997%" headers="mcps1.1.3.1.1 "><p id="zh-cn_topic_0000001209249145_p172682272071"><a name="zh-cn_topic_0000001209249145_p172682272071"></a><a name="zh-cn_topic_0000001209249145_p172682272071"></a>Promise<boolean></p> 143 </td> 144 <td class="cellrowborder" valign="top" width="74.42999999999999%" headers="mcps1.1.3.1.2 "><p id="zh-cn_topic_0000001209249145_p102681127973"><a name="zh-cn_topic_0000001209249145_p102681127973"></a><a name="zh-cn_topic_0000001209249145_p102681127973"></a>Promise实例,用于异步获取返回值,支持返回true,不支持返回false。</p> 145 </td> 146 </tr> 147 </tbody> 148 </table> 149 150- 示例: 151 152 ``` 153 runninglock.isRunningLockTypeSupported(runninglock.RunningLockType.PROXIMITY_SCREEN_CONTROL) 154 .then(supported => { 155 console.info('PROXIMITY_SCREEN_CONTROL support status is ' + supported); 156 done(); 157 }) 158 .catch(error => { 159 console.log('error: ' + error); 160 done(); 161 }); 162 ``` 163 164 165## runningLock.createRunningLock<a name="zh-cn_topic_0000001209249145_section787751152220"></a> 166 167createRunningLock\(name: string, type: RunningLockType, callback: AsyncCallback<RunningLock\>\): void 168 169创建Runninglock锁。 170 171- 参数: 172 173 <a name="zh-cn_topic_0000001209249145_table9878312223"></a> 174 <table><thead align="left"><tr id="zh-cn_topic_0000001209249145_row6878618227"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="zh-cn_topic_0000001209249145_p1487811115229"><a name="zh-cn_topic_0000001209249145_p1487811115229"></a><a name="zh-cn_topic_0000001209249145_p1487811115229"></a>参数名</p> 175 </th> 176 <th class="cellrowborder" valign="top" width="36.88%" id="mcps1.1.5.1.2"><p id="zh-cn_topic_0000001209249145_p1987813113226"><a name="zh-cn_topic_0000001209249145_p1987813113226"></a><a name="zh-cn_topic_0000001209249145_p1987813113226"></a>类型</p> 177 </th> 178 <th class="cellrowborder" valign="top" width="7.8100000000000005%" id="mcps1.1.5.1.3"><p id="zh-cn_topic_0000001209249145_p10878101102213"><a name="zh-cn_topic_0000001209249145_p10878101102213"></a><a name="zh-cn_topic_0000001209249145_p10878101102213"></a>必填</p> 179 </th> 180 <th class="cellrowborder" valign="top" width="40.489999999999995%" id="mcps1.1.5.1.4"><p id="zh-cn_topic_0000001209249145_p68781112224"><a name="zh-cn_topic_0000001209249145_p68781112224"></a><a name="zh-cn_topic_0000001209249145_p68781112224"></a>说明</p> 181 </th> 182 </tr> 183 </thead> 184 <tbody><tr id="zh-cn_topic_0000001209249145_row205362045162115"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="zh-cn_topic_0000001209249145_p5536134542111"><a name="zh-cn_topic_0000001209249145_p5536134542111"></a><a name="zh-cn_topic_0000001209249145_p5536134542111"></a>name</p> 185 </td> 186 <td class="cellrowborder" valign="top" width="36.88%" headers="mcps1.1.5.1.2 "><p id="zh-cn_topic_0000001209249145_p5536114512117"><a name="zh-cn_topic_0000001209249145_p5536114512117"></a><a name="zh-cn_topic_0000001209249145_p5536114512117"></a>string</p> 187 </td> 188 <td class="cellrowborder" valign="top" width="7.8100000000000005%" headers="mcps1.1.5.1.3 "><p id="zh-cn_topic_0000001209249145_p1253617450215"><a name="zh-cn_topic_0000001209249145_p1253617450215"></a><a name="zh-cn_topic_0000001209249145_p1253617450215"></a>是</p> 189 </td> 190 <td class="cellrowborder" valign="top" width="40.489999999999995%" headers="mcps1.1.5.1.4 "><p id="zh-cn_topic_0000001209249145_p155361545102116"><a name="zh-cn_topic_0000001209249145_p155361545102116"></a><a name="zh-cn_topic_0000001209249145_p155361545102116"></a>锁的名字。</p> 191 </td> 192 </tr> 193 <tr id="zh-cn_topic_0000001209249145_row19878113221"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="zh-cn_topic_0000001209249145_p1087811152212"><a name="zh-cn_topic_0000001209249145_p1087811152212"></a><a name="zh-cn_topic_0000001209249145_p1087811152212"></a>type</p> 194 </td> 195 <td class="cellrowborder" valign="top" width="36.88%" headers="mcps1.1.5.1.2 "><p id="zh-cn_topic_0000001209249145_p14878615224"><a name="zh-cn_topic_0000001209249145_p14878615224"></a><a name="zh-cn_topic_0000001209249145_p14878615224"></a>RunningLockType</p> 196 </td> 197 <td class="cellrowborder" valign="top" width="7.8100000000000005%" headers="mcps1.1.5.1.3 "><p id="zh-cn_topic_0000001209249145_p198788152211"><a name="zh-cn_topic_0000001209249145_p198788152211"></a><a name="zh-cn_topic_0000001209249145_p198788152211"></a>是</p> 198 </td> 199 <td class="cellrowborder" valign="top" width="40.489999999999995%" headers="mcps1.1.5.1.4 "><p id="zh-cn_topic_0000001209249145_p1287815113222"><a name="zh-cn_topic_0000001209249145_p1287815113222"></a><a name="zh-cn_topic_0000001209249145_p1287815113222"></a>要创建的锁的类型。</p> 200 </td> 201 </tr> 202 <tr id="zh-cn_topic_0000001209249145_row84458101013"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="zh-cn_topic_0000001209249145_p104459119108"><a name="zh-cn_topic_0000001209249145_p104459119108"></a><a name="zh-cn_topic_0000001209249145_p104459119108"></a>callback</p> 203 </td> 204 <td class="cellrowborder" valign="top" width="36.88%" headers="mcps1.1.5.1.2 "><p id="zh-cn_topic_0000001209249145_p144619141011"><a name="zh-cn_topic_0000001209249145_p144619141011"></a><a name="zh-cn_topic_0000001209249145_p144619141011"></a>AsyncCallback<<a href="#zh-cn_topic_0000001209249145_section189341937163212">RunningLock</a>></p> 205 </td> 206 <td class="cellrowborder" valign="top" width="7.8100000000000005%" headers="mcps1.1.5.1.3 "><p id="zh-cn_topic_0000001209249145_p844617111014"><a name="zh-cn_topic_0000001209249145_p844617111014"></a><a name="zh-cn_topic_0000001209249145_p844617111014"></a>是</p> 207 </td> 208 <td class="cellrowborder" valign="top" width="40.489999999999995%" headers="mcps1.1.5.1.4 "><p id="zh-cn_topic_0000001209249145_p14467151017"><a name="zh-cn_topic_0000001209249145_p14467151017"></a><a name="zh-cn_topic_0000001209249145_p14467151017"></a>指定的callback回调方法,用于获取返回的RunningLock锁对象。</p> 209 </td> 210 </tr> 211 </tbody> 212 </table> 213 214- 示例: 215 216 ``` 217 runningLock.createRunningLock("running_lock_test", runningLock.RunningLockType.BACKGROUND) 218 .then(runninglock => { 219 var used = runninglock.isUsed(); 220 console.info('runninglock is used: ' + used); 221 runninglock.lock(500); 222 used = runninglock.isUsed(); 223 console.info('after lock runninglock is used ' + used); 224 done(); 225 }) 226 .catch(error => { 227 console.log('create runningLock test error: ' + error); 228 done(); 229 }) 230 ``` 231 232 233## runningLock.createRunningLock<a name="zh-cn_topic_0000001209249145_section16799155115717"></a> 234 235createRunningLock\(name: string, type: RunningLockType\): Promise<RunningLock\> 236 237创建Runninglock锁。 238 239- 参数: 240 241 <a name="zh-cn_topic_0000001209249145_table254113503814"></a> 242 <table><thead align="left"><tr id="zh-cn_topic_0000001209249145_row85411350182"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="zh-cn_topic_0000001209249145_p15415503818"><a name="zh-cn_topic_0000001209249145_p15415503818"></a><a name="zh-cn_topic_0000001209249145_p15415503818"></a>参数名</p> 243 </th> 244 <th class="cellrowborder" valign="top" width="33.57%" id="mcps1.1.5.1.2"><p id="zh-cn_topic_0000001209249145_p4541105010811"><a name="zh-cn_topic_0000001209249145_p4541105010811"></a><a name="zh-cn_topic_0000001209249145_p4541105010811"></a>类型</p> 245 </th> 246 <th class="cellrowborder" valign="top" width="12.1%" id="mcps1.1.5.1.3"><p id="zh-cn_topic_0000001209249145_p1554115507812"><a name="zh-cn_topic_0000001209249145_p1554115507812"></a><a name="zh-cn_topic_0000001209249145_p1554115507812"></a>必填</p> 247 </th> 248 <th class="cellrowborder" valign="top" width="39.51%" id="mcps1.1.5.1.4"><p id="zh-cn_topic_0000001209249145_p5541650982"><a name="zh-cn_topic_0000001209249145_p5541650982"></a><a name="zh-cn_topic_0000001209249145_p5541650982"></a>说明</p> 249 </th> 250 </tr> 251 </thead> 252 <tbody><tr id="zh-cn_topic_0000001209249145_row55417507819"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="zh-cn_topic_0000001209249145_p1754114500810"><a name="zh-cn_topic_0000001209249145_p1754114500810"></a><a name="zh-cn_topic_0000001209249145_p1754114500810"></a>name</p> 253 </td> 254 <td class="cellrowborder" valign="top" width="33.57%" headers="mcps1.1.5.1.2 "><p id="zh-cn_topic_0000001209249145_p65412501586"><a name="zh-cn_topic_0000001209249145_p65412501586"></a><a name="zh-cn_topic_0000001209249145_p65412501586"></a>string</p> 255 </td> 256 <td class="cellrowborder" valign="top" width="12.1%" headers="mcps1.1.5.1.3 "><p id="zh-cn_topic_0000001209249145_p1354195015810"><a name="zh-cn_topic_0000001209249145_p1354195015810"></a><a name="zh-cn_topic_0000001209249145_p1354195015810"></a>是</p> 257 </td> 258 <td class="cellrowborder" valign="top" width="39.51%" headers="mcps1.1.5.1.4 "><p id="zh-cn_topic_0000001209249145_p654111501384"><a name="zh-cn_topic_0000001209249145_p654111501384"></a><a name="zh-cn_topic_0000001209249145_p654111501384"></a>锁的名字。</p> 259 </td> 260 </tr> 261 <tr id="zh-cn_topic_0000001209249145_row454111501682"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="zh-cn_topic_0000001209249145_p1054275016813"><a name="zh-cn_topic_0000001209249145_p1054275016813"></a><a name="zh-cn_topic_0000001209249145_p1054275016813"></a>type</p> 262 </td> 263 <td class="cellrowborder" valign="top" width="33.57%" headers="mcps1.1.5.1.2 "><p id="zh-cn_topic_0000001209249145_p55426505812"><a name="zh-cn_topic_0000001209249145_p55426505812"></a><a name="zh-cn_topic_0000001209249145_p55426505812"></a>RunningLockType</p> 264 </td> 265 <td class="cellrowborder" valign="top" width="12.1%" headers="mcps1.1.5.1.3 "><p id="zh-cn_topic_0000001209249145_p1254210501587"><a name="zh-cn_topic_0000001209249145_p1254210501587"></a><a name="zh-cn_topic_0000001209249145_p1254210501587"></a>是</p> 266 </td> 267 <td class="cellrowborder" valign="top" width="39.51%" headers="mcps1.1.5.1.4 "><p id="zh-cn_topic_0000001209249145_p1254245010819"><a name="zh-cn_topic_0000001209249145_p1254245010819"></a><a name="zh-cn_topic_0000001209249145_p1254245010819"></a>要创建的锁的类型。</p> 268 </td> 269 </tr> 270 </tbody> 271 </table> 272 273- 返回值: 274 275 <a name="zh-cn_topic_0000001209249145_table17542250488"></a> 276 <table><thead align="left"><tr id="zh-cn_topic_0000001209249145_row35421550384"><th class="cellrowborder" valign="top" width="32.57%" id="mcps1.1.3.1.1"><p id="zh-cn_topic_0000001209249145_p35421501189"><a name="zh-cn_topic_0000001209249145_p35421501189"></a><a name="zh-cn_topic_0000001209249145_p35421501189"></a>类型</p> 277 </th> 278 <th class="cellrowborder" valign="top" width="67.43%" id="mcps1.1.3.1.2"><p id="zh-cn_topic_0000001209249145_p1254213507819"><a name="zh-cn_topic_0000001209249145_p1254213507819"></a><a name="zh-cn_topic_0000001209249145_p1254213507819"></a>说明</p> 279 </th> 280 </tr> 281 </thead> 282 <tbody><tr id="zh-cn_topic_0000001209249145_row165431250282"><td class="cellrowborder" valign="top" width="32.57%" headers="mcps1.1.3.1.1 "><p id="zh-cn_topic_0000001209249145_p115430501589"><a name="zh-cn_topic_0000001209249145_p115430501589"></a><a name="zh-cn_topic_0000001209249145_p115430501589"></a>Promise<<a href="#zh-cn_topic_0000001209249145_section189341937163212">RunningLock</a>></p> 283 </td> 284 <td class="cellrowborder" valign="top" width="67.43%" headers="mcps1.1.3.1.2 "><p id="zh-cn_topic_0000001209249145_p165439501082"><a name="zh-cn_topic_0000001209249145_p165439501082"></a><a name="zh-cn_topic_0000001209249145_p165439501082"></a>Promise实例,用于异步获取返回的RunningLock锁对象。</p> 285 </td> 286 </tr> 287 </tbody> 288 </table> 289 290- 示例: 291 292 ``` 293 runningLock.createRunningLock("running_lock_test", runningLock.RunningLockType.BACKGROUND) 294 .then(runninglock => { 295 console.info('create runningLock success'); 296 done(); 297 }) 298 .catch(error => { 299 console.log('create runningLock test error: ' + error); 300 done(); 301 }) 302 ``` 303 304 305## RunningLock<a name="zh-cn_topic_0000001209249145_section189341937163212"></a> 306 307阻止系统休眠的锁。 308 309### lock<a name="zh-cn_topic_0000001209249145_section86521450132716"></a> 310 311lock\(timeout: number\): void 312 313锁定和持有RunningLock 314 315- 参数: 316 317 <a name="zh-cn_topic_0000001209249145_table206539501273"></a> 318 <table><thead align="left"><tr id="zh-cn_topic_0000001209249145_row3653205002714"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="zh-cn_topic_0000001209249145_p165311506273"><a name="zh-cn_topic_0000001209249145_p165311506273"></a><a name="zh-cn_topic_0000001209249145_p165311506273"></a>参数名</p> 319 </th> 320 <th class="cellrowborder" valign="top" width="14.729999999999999%" id="mcps1.1.5.1.2"><p id="zh-cn_topic_0000001209249145_p1065365082714"><a name="zh-cn_topic_0000001209249145_p1065365082714"></a><a name="zh-cn_topic_0000001209249145_p1065365082714"></a>类型</p> 321 </th> 322 <th class="cellrowborder" valign="top" width="9.16%" id="mcps1.1.5.1.3"><p id="zh-cn_topic_0000001209249145_p4653175062711"><a name="zh-cn_topic_0000001209249145_p4653175062711"></a><a name="zh-cn_topic_0000001209249145_p4653175062711"></a>必填</p> 323 </th> 324 <th class="cellrowborder" valign="top" width="61.29%" id="mcps1.1.5.1.4"><p id="zh-cn_topic_0000001209249145_p665425019272"><a name="zh-cn_topic_0000001209249145_p665425019272"></a><a name="zh-cn_topic_0000001209249145_p665425019272"></a>说明</p> 325 </th> 326 </tr> 327 </thead> 328 <tbody><tr id="zh-cn_topic_0000001209249145_row7654150172712"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="zh-cn_topic_0000001209249145_p0444142272919"><a name="zh-cn_topic_0000001209249145_p0444142272919"></a><a name="zh-cn_topic_0000001209249145_p0444142272919"></a>timeout</p> 329 </td> 330 <td class="cellrowborder" valign="top" width="14.729999999999999%" headers="mcps1.1.5.1.2 "><p id="zh-cn_topic_0000001209249145_p26542503275"><a name="zh-cn_topic_0000001209249145_p26542503275"></a><a name="zh-cn_topic_0000001209249145_p26542503275"></a>number</p> 331 </td> 332 <td class="cellrowborder" valign="top" width="9.16%" headers="mcps1.1.5.1.3 "><p id="zh-cn_topic_0000001209249145_p17654105062720"><a name="zh-cn_topic_0000001209249145_p17654105062720"></a><a name="zh-cn_topic_0000001209249145_p17654105062720"></a>否</p> 333 </td> 334 <td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="zh-cn_topic_0000001209249145_p965405018273"><a name="zh-cn_topic_0000001209249145_p965405018273"></a><a name="zh-cn_topic_0000001209249145_p965405018273"></a>锁定和持有Runninglock的时长。</p> 335 </td> 336 </tr> 337 </tbody> 338 </table> 339 340- 示例: 341 342 ``` 343 runninglock.createRunningLock("running_lock_test", runninglock.RunningLockType.BACKGROUND) 344 .then(runningLock => { 345 runningLock.lock(100) 346 console.info('create runningLock success') 347 }) 348 .catch(error => { 349 console.log('Lock runningLock test error: ' + error) 350 }); 351 ``` 352 353 354### unlock<a name="zh-cn_topic_0000001209249145_section19100160122813"></a> 355 356unlock\(\): void 357 358释放Runninglock锁。 359 360- 示例: 361 362 ``` 363 runninglock.createRunningLock("running_lock_test", runninglock.RunningLockType.BACKGROUND) 364 .then(runningLock => { 365 runningLock.unlock() 366 console.info('unLock runningLock success') 367 }) 368 .catch(error => { 369 console.log('unLock runningLock test error: ' + error) 370 }); 371 ``` 372 373 374### isUsed<a name="zh-cn_topic_0000001209249145_section1410593619146"></a> 375 376isUsed\(\): boolean 377 378查询当前Runninglock是持有状态,还是释放状态。 379 380- 返回值: 381 382 <a name="zh-cn_topic_0000001209249145_table115061181517"></a> 383 <table><thead align="left"><tr id="zh-cn_topic_0000001209249145_row1150161121510"><th class="cellrowborder" valign="top" width="17.01%" id="mcps1.1.3.1.1"><p id="zh-cn_topic_0000001209249145_p1015015113159"><a name="zh-cn_topic_0000001209249145_p1015015113159"></a><a name="zh-cn_topic_0000001209249145_p1015015113159"></a>类型</p> 384 </th> 385 <th class="cellrowborder" valign="top" width="82.99%" id="mcps1.1.3.1.2"><p id="zh-cn_topic_0000001209249145_p2150211201512"><a name="zh-cn_topic_0000001209249145_p2150211201512"></a><a name="zh-cn_topic_0000001209249145_p2150211201512"></a>说明</p> 386 </th> 387 </tr> 388 </thead> 389 <tbody><tr id="zh-cn_topic_0000001209249145_row17150811131514"><td class="cellrowborder" valign="top" width="17.01%" headers="mcps1.1.3.1.1 "><p id="zh-cn_topic_0000001209249145_p1150161110157"><a name="zh-cn_topic_0000001209249145_p1150161110157"></a><a name="zh-cn_topic_0000001209249145_p1150161110157"></a>boolean</p> 390 </td> 391 <td class="cellrowborder" valign="top" width="82.99%" headers="mcps1.1.3.1.2 "><p id="zh-cn_topic_0000001209249145_p51501611141518"><a name="zh-cn_topic_0000001209249145_p51501611141518"></a><a name="zh-cn_topic_0000001209249145_p51501611141518"></a>当前Runninglock是持有状态返回true,释放状态返回false。</p> 392 </td> 393 </tr> 394 </tbody> 395 </table> 396 397- 示例: 398 399 ``` 400 runninglock.createRunningLock("running_lock_test", runninglock.RunningLockType.BACKGROUND) 401 .then(runningLock => { 402 var used = runningLock.isUsed() 403 console.info('runningLock used status: ' + used) 404 }) 405 .catch(error => { 406 console.log('runningLock isUsed test error: ' + error) 407 }); 408 ``` 409 410 411