HEDA
HEDA
  • 发布:2020-07-26 12:57
  • 更新:2023-12-20 12:02
  • 阅读:879

Native.js回调多参数支持(iOS)

分类:Native.js

Native.js在一些场景中,很方便,跨平台。按照原生代码翻译即可。

经过实测,在回调和代理的参数有如下限制:

1. 代理回调中只有第一个参数有效,其他参数均为undefined。

举例:

let delegate = plus.ios.implements('connection:', {  
  // 当接收到服务器返回的数据时会调用  
  'connection:didReceiveData:': function (connection, data) {  
    console.log('connection=', connection);  
    console.log('data=', data);  
  },  
});

输出结果:

connection=[Object] {"__TYPE__":"JSBObject","__UUID__":"native_86","className":"NSURLConnectionInternalConnection"}  
data=undefined

2. Block回调中所有参数均为undefined。

举例:

self.task = plus.ios.invoke(self.session, 'dataTaskWithRequest:completionHandler:', self.request, function (data, response, error) {  
  console.error('data=', data);  
  console.error('response=', response);  
  console.error('error=', error);  
});

输出结果:

data=undefined  
response=undefined  
error=undefined

问题:

  1. Native.js功能为何不优化支持/修复正确回调参数的问题?

  2. 是否有相关的计划?


补充:

尽管目前uni-app插件开发比较方便,且很强大。但开发插件对环境要求比较多,如果能够直接Native.js实现的,Native.js的开发效率高很多。且人人都可以写。

因此强烈建议优化一下回调参数问题。

2020-07-26 12:57 负责人:无 分享
已邀请:
CLP

CLP

有些是iOS的限制,native.js方式是解决不了的,你可以使用原生插件的方法来解决,native.js 解决复杂问题也是不方便的,所以我们提供了多种方式来满足用户解决问题。

  • HEDA (作者)

    上述回调参数问题都是iOS本身的限制吗?

    2020-07-27 16:23

3***@qq.com

3***@qq.com

2022了, 也还是 不行么 ...

b***@163.com

b***@163.com

都2024了,屁都没听到响一下,估计已经放弃了,uniappx 攻app端,uniapp攻小程序端

要回复问题请先登录注册