请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

native 和 web 相互通信的疑问?

在这几节中,老师做的示例是使用 msg 即 string 类型演示
js 的 string 可以和 原生的 NSString 对应
数字、布尔类型必然也可以对应,
那么函数类型作为通信的类型可以对应吗?

正在回答

1回答

这里会涉及跨线程通信时的数据序列化与反序列化,也是一个比较关键的地方,你问到了一个很关键的点,如果涉及到传函数,一般都是在把函数对象留在线程中,然后生成一个json字符串,这个json字符串里会带一些数据类型的描述,以及一个id,这个id会在线程中关联到这个函数对象,后续其他线程需要回调这个函数的时候,会把这个id和参数一并传过来,再触发线程中的统一回调触发逻辑,在这个触发机制中,有了这个id,就可以找回之前留在线程中的函数对象,从而触发回调;不可能跨线程丢一个函数对象过去;除了函数对象外,还有date对象也是一样,都会涉及到数据的序列化和反序列化,这个在与原生端通信时非常重要,给你的提问点赞。

1 回复 有任何疑惑可以回复我~
  • 提问者 香饽饽0 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2023-11-11 08:05:56
  • 提问者 香饽饽0 #2
    追问一下,如果是课程中 js 对 js,可以直接传递吗
    回复 有任何疑惑可以回复我~ 2023-11-11 08:06:27
  • 小默老师 回复 提问者 香饽饽0 #3
    不客气,祝学习愉快
    回复 有任何疑惑可以回复我~ 2023-11-11 08:06:32
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信