ReactNative native-modules Promise传递字段和Swift
问题描述:
我试图在使用Swift的React Native中传递一个承诺并传递一个字段(数组)。 这是我的代码:ReactNative native-modules Promise传递字段和Swift
GuidedTourInterfaceBridge.m
@interface RCT_EXTERN_MODULE(GuidedTourInterface, NSObject)
RCT_EXTERN_METHOD(readFile(_ arr: NSArray, resolver: RCTPromiseResolveBlock resolve, rejecter reject: RCTPromiseRejectBlock reject))
@end
GuidedTourInterface.swift:
...
@objc
func readFile(_ arr: NSArray, resolver resolve: RCTPromiseResolveBlock, rejecter reject: RCTPromiseRejectBlock) -> Void {
...
resolve(["success" : true, "base64Content" : base64Content ])
}
...
JS文件:
...
readFileInfoJson = async() => {
try {
var result = await guidedTourInterface.readFile([this.props.mapToShow+"/info.json"]);
...
} catch (e) {
console.error(e);
}
}
该错误消息我收到:
guidedTourInterface.readFile不是函数。 (在 'guidedTourInterface.readFile([_ this.props.mapToShow + “/ info.json”])', 'guidedTourInterface.readFile' 是不确定的)
你有什么建议,如何解决这个或我做错了什么? 在此先感谢
答
我能弄清楚如何解决问题。这是任何人谁可能需要的解决方案
GuidedTourInterfaceBridge.m
RCT_EXTERN_METHOD(readFile:(NSArray *)arr resolve:(RCTPromiseResolveBlock *)resolve reject:(RCTPromiseRejectBlock *)reject)
GuidedTourInterface.swift:
func readFile(_ arr: NSArray, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
JS文件:
var result = await guidedTourInterface.readFile([this.props.mapToShow+"/info.json"])
.then((result) => {