Revonic
Revonic
  • 发布:2023-05-20 11:17
  • 更新:2023-06-08 15:00
  • 阅读:504

原生插件开发异步调用问题

分类:uni-app

根据文档,异步调用的话是设置 uiThread = true 但是这不是运行在 UI 线程吗?如果执行个耗时任务,卡在 UI 线程,APP不就直接无响应了?
我现在都迷了,到底哪个是异步执行任务?uiThread 到底设置成啥才能异步执行不卡 UI ?

//run ui thread  
@UniJSMethod(uiThread = true)  
public void testAsyncFunc(JSONObject options, UniJSCallback callback) {  
    Log.e(TAG, "testAsyncFunc--"+options);  
    if(callback != null) {  
        JSONObject data = new JSONObject();  
        data.put("code", "success");  
        callback.invoke(data);  
    }  
}  

//run JS thread  
@UniJSMethod (uiThread = false)  
public JSONObject testSyncFunc(){  
    JSONObject data = new JSONObject();  
    data.put("code", "success");  
    return data;  
}  
2023-05-20 11:17 负责人:无 分享
已邀请:
FullStack

FullStack - 【插件开发】【专治疑难杂症】【ios上架、马甲包、白包、过审、已成功上架过几百个】【多款插件已上架:https://ext.dcloud.net.cn/publisher?id=22130】【非诚勿扰】QQ:543610866

java 异步线程代码

new Thread(new Runnable() {  
            @Override  
            public void run() {  
                //执行的代码  
            }  
        }).start();
了了伢生

了了伢生

楼主大大,为啥,我用第二种方式,打算用返回值返回给vue,但是vue上取值是空的啊testSyncFunc,jscallback回调才行这是为啥啊

要回复问题请先登录注册