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
相关问题
鸿蒙是否进行异步通信
2260浏览 • 1回复 待解决
如何跨进程调用其他应用的服务
224浏览 • 1回复 待解决
基于libuv异步库进行线程通信
185浏览 • 0回复 待解决
OpenHarmony L1 Ipc samgr_lite通信报错异常
5953浏览 • 2回复 待解决
Hi3861 支持CAN通信
7344浏览 • 2回复 待解决
为什么FA模型不支持进程内对象共享
245浏览 • 1回复 待解决
Ubuntu桌面版的进程是否可以杀死
447浏览 • 1回复 待解决
请问鸿蒙和OH支持软总线互相通信
1387浏览 • 0回复 待解决
innerHTML 是否支持
1158浏览 • 1回复 待解决
PolarDB 如何进行数据通信
1347浏览 • 1回复 待解决
鸿蒙是否支持加载HTML
10482浏览 • 3回复 待解决