提交 0571391d 编写于 作者: 杜庆泉's avatar 杜庆泉

Update uts-for-android.md

上级 76e5a081
...@@ -120,15 +120,41 @@ class XXX{ ...@@ -120,15 +120,41 @@ class XXX{
### 2.4 线程环境差异 ### 2.4 线程环境差异
UTS环境中,默认是没有线程概念的。 代码默认执行在uts 单独的线程池中。 UTS环境中,默认是没有线程概念的。
如果需要执行异步任务,建议通过内置函数`UTSAndroid.getDispatcher("io")`执行
[文档地址](https://doc.dcloud.net.cn/uni-app-x/uts/utsandroid.html#getdispatcher)
如果需要执行异步任务,建议通过内置函数`setTimeOut`执行
```ts ```ts
console.log("这里是UTS默认线程 :" + Thread.currentThread().getName()) UTSAndroid.getDispatcher("main").async(function(_){
setTimeOut(function(){ if(Thread.currentThread().name != 'main'){
console.log("这里是异步任务线程 :" + Thread.currentThread().getName()) callback(false,"main thread error")
},1000) return
}
UTSAndroid.getDispatcher("dom").async(function(_){
/**
* dom 参数,只在2.0生效,1.0会自动切换到main线程
*/
if(Thread.currentThread().name != 'main' && Thread.currentThread().name != 'io_dcloud_uniapp_dom'){
callback(false,"dom thread error")
return
}
UTSAndroid.getDispatcher("io").async(function(_){
/**
* dom 参数,只在2.0生效,1.0会自动切换到main线程
*/
if(!Thread.currentThread().name.contains("DefaultDispatcher")){
callback(false,"io thread error")
return
}
callback(true,"pass")
},null)
},null)
},null)
``` ```
如果是android原生api 需要部分代码必须执行在UI线程,则需要通过原生api进行操作: 如果是android原生api 需要部分代码必须执行在UI线程,则需要通过原生api进行操作:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册