IPC跨进程通信中是否支持异步返回数据

​IPC跨进程通信中是否支持异步返回数据。

HarmonyOS
2024-01-21 13:15:24
浏览
已于2024-1-22 17:18:41修改
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
akikiro

支持,将服务端的onRemoteMessageRequest函数中的option设置为异步即可。

示例代码

import { rpc } from '@kit.IPCKit'; 
 
class TestRemoteObject extends rpc.RemoteObject { 
  constructor(descriptor: string) { 
    super(descriptor); 
  } 
 
  async onRemoteMessageRequest(code: number, data: rpc.MessageSequence, reply: rpc.MessageSequence, option: rpc.MessageOption): Promise<boolean> { 
    if (code === 1) { 
      console.log("RpcServer: async onRemoteMessageRequest is called"); 
    } else { 
      console.log("RpcServer: unknown code: " + code); 
      return false; 
    } 
    await new Promise((resolve: (data: rpc.RequestResult) => void) => { 
      setTimeout(resolve, 100); 
    }) 
    return true; 
  } 
}

参考链接

IPC与RPC通信开发指导

分享
微博
QQ
微信
回复
2024-01-22 17:32:47
相关问题
公共事件实现跨进程通信
533浏览 • 1回复 待解决
鸿蒙是否进行异步通信
2818浏览 • 1回复 待解决
如何跨进程调用其他应用的服务
694浏览 • 1回复 待解决
基于libuv异步库进行线程通信
751浏览 • 0回复 待解决
OpenHarmony L1 Ipc samgr_lite通信报错异常
6651浏览 • 2回复 待解决
是否支持多应用共享数据
607浏览 • 1回复 待解决
mapkit是否支持poi获取POI数据
541浏览 • 1回复 待解决
异步是否对主线程有影响
27浏览 • 1回复 待解决
taskpool异步任务支持串行处理的方法
501浏览 • 1回复 待解决