Javascript 本机模块承诺通过字段和Swift

Javascript 本机模块承诺通过字段和Swift,javascript,swift,react-native,promise,native-module,Javascript,Swift,React Native,Promise,Native Module,我正在尝试使用Swift并传递一个字段(数组),在React Native中运行promise。 这是我的代码: 引导到接口桥 @interface RCT_EXTERN_MODULE(GuidedTourInterface, NSObject) RCT_EXTERN_METHOD(readFile(_ arr: NSArray, resolver: RCTPromiseResolveBlock resolve, rejecter reject: RCTPromiseRejectBloc

我正在尝试使用Swift并传递一个字段(数组),在React Native中运行promise。 这是我的代码:

引导到接口桥

@interface RCT_EXTERN_MODULE(GuidedTourInterface, NSObject)

   RCT_EXTERN_METHOD(readFile(_ arr: NSArray, resolver: RCTPromiseResolveBlock resolve, rejecter reject: RCTPromiseRejectBlock reject))
@end
RCT_EXTERN_METHOD(readFile:(NSArray *)arr resolve:(RCTPromiseResolveBlock *)resolve reject:(RCTPromiseRejectBlock *)reject)
GuidedTourInterface.swift:

...
@objc
func readFile(_ arr: NSArray, resolver resolve: RCTPromiseResolveBlock, rejecter reject: RCTPromiseRejectBlock) -> Void {
    ...
    resolve(["success" : true, "base64Content" : base64Content ])
}
...
  func readFile(_ arr: NSArray, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
JS文件:

...
readFileInfoJson = async () => {
  try {

      var result = await guidedTourInterface.readFile([this.props.mapToShow+"/info.json"]);
      ...
   } catch (e) {
      console.error(e);
   }
 }
var result = await guidedTourInterface.readFile([this.props.mapToShow+"/info.json"])
          .then((result) => {
我收到的错误消息:

guidedTourInterface.readFile不是函数。(在 'guidedTourInterface.readFile([\u this.props.mapToShow+“/info.json”]), “guidedTourInterface.readFile”未定义)]

你有什么建议如何解决这个问题或者我做错了什么?
提前感谢

我终于想出了解决问题的办法。以下是可能需要帮助的任何人的解决方案

引导到接口桥

@interface RCT_EXTERN_MODULE(GuidedTourInterface, NSObject)

   RCT_EXTERN_METHOD(readFile(_ arr: NSArray, resolver: RCTPromiseResolveBlock resolve, rejecter reject: RCTPromiseRejectBlock reject))
@end
RCT_EXTERN_METHOD(readFile:(NSArray *)arr resolve:(RCTPromiseResolveBlock *)resolve reject:(RCTPromiseRejectBlock *)reject)
GuidedTourInterface.swift:

...
@objc
func readFile(_ arr: NSArray, resolver resolve: RCTPromiseResolveBlock, rejecter reject: RCTPromiseRejectBlock) -> Void {
    ...
    resolve(["success" : true, "base64Content" : base64Content ])
}
...
  func readFile(_ arr: NSArray, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
JS文件:

...
readFileInfoJson = async () => {
  try {

      var result = await guidedTourInterface.readFile([this.props.mapToShow+"/info.json"]);
      ...
   } catch (e) {
      console.error(e);
   }
 }
var result = await guidedTourInterface.readFile([this.props.mapToShow+"/info.json"])
          .then((result) => {

\uarr
中下划线的原因是什么?@TaylorKline