V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
a251922581
V2EX  ›  Node.js

请教一般 ajax 调用改写为 ipc 调用怎么处理比较好? Electron 环境,因为搭本地 ajax 服务器端的话要开放防火墙

  •  
  •   a251922581 · 2017-11-01 10:07:36 +08:00 · 3615 次点击
    这是一个创建于 2578 天前的主题,其中的信息可能已经有所发展或是发生改变。
    Electron 环境,Main 进程和 Renderer 进程要交互,一些用到的网页 js 库都喜欢用 ajax 调用,得到返回数据继续处理,但是搭建 Main 进程的 server 端需要监听端口,要防火墙放行,考虑到这样会挡住一部分用户增加了维护了,所以想用 IPC,ipc 的话不会跳出防火墙提示。
    但是 ipc 的话是 send 过去就不会等待返回结果了,ajax 是接受返回结果的,那么原来用 ajax 写的逻辑,就要改写为支持 ipc 这种模式的,请教这个如何做?先谢过
    4 条回复    2017-12-23 13:22:37 +08:00
    anmaz
        1
    anmaz  
       2017-11-01 10:40:21 +08:00 via Android
    这个 ipc 不是支持监听等待么,
    a251922581
        2
    a251922581  
    OP
       2017-11-01 11:01:51 +08:00
    @anmaz 是 SyncIPC 吗? 官网文档同步 IPC 会阻塞进程的吧?
    ithrows
        3
    ithrows  
       2017-11-01 18:32:23 +08:00
    ipc 有异步的方法,监听事件就行了
    sodawy
        4
    sodawy  
       2017-12-23 13:22:37 +08:00
    本地环境的 ipc 性能应该会 http 好不少吧,libuv 还会帮你屏蔽 os 差异。

    node 的 ipc send 方法,确实没有回传机制。

    建议楼主,在进程间 send 上自己再包装一层,两边进程都会 send,都要 on('message'),然后可以给每个消息加上 id,标明类型。然后就是对 message 的打包和拆包。这样实现完了中间层,起始业务代码,改动并不大。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2782 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 12:50 · PVG 20:50 · LAX 04:50 · JFK 07:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.