【发布时间】:2015-11-29 05:51:18
【问题描述】:
我正在使用 React Native 并尝试编写一些通过蓝牙通信的本机代码。我对我需要使用的类型注释以使其工作感到困惑。有人可以解释为什么我必须在以下两个代码 sn-ps 中有“解析器”和“拒绝器”位吗?有没有办法在没有那些未使用的部分的情况下编写这个?
我的实现,MyAsyncModule.swift:
@objc(MyAsyncModule)
class MyAsyncModule: NSObject {
@objc func echoAsync(
input: NSNumber,
resolver resolve: RCTPromiseResolveBlock,
rejecter reject: RCTPromiseRejectBlock
) -> Void {
resolve(input)
}
}
来自我的网桥文件,MyAsyncModuleBridge.m
RCT_EXTERN_METHOD(echoAsync:
(nonnull NSNumber *)input
resolver:(RCTPromiseResolveBlock *)resolve
rejecter:(RCTPromiseRejectBlock *)reject
)
我来自脚本领域,所以类型对我来说是陌生的,但是 React Native 拒绝识别我的 echoAsync 方法似乎太奇怪了,除非实现和桥都包含 resolver 和 rejecter 位...
【问题讨论】:
-
我刚刚发现了这个:github.com/kostiakoval/Presentations/blob/…,它展示了我如何摆脱解析器/拒绝器部分,但我仍然对它们最初是什么感到好奇
标签: objective-c swift react-native