gpt4 book ai didi

javascript - React Native 无法返回数组

转载 作者:行者123 更新时间:2023-11-30 19:48:13 29 4
gpt4 key购买 nike

好的伙计们。

我正在使用 BrotherSDK 构建一个小型 POC,我想要做的就是返回标签打印机列表及其纸张尺寸。我读过,为了做到这一点,我必须使用 ReactBridge 中的 Promise.resolve 函数。

我试过了,但在我的模拟器上出现了这样的错误。

simulator

我的 Java 代码如下所示:

 @ReactMethod
public void getPrinterList(final Promise promise) {
try {
ArrayList<String> printerList = new ArrayList<>();
Collections.addAll(printerList, "QL710W", "QL720NW",
"PTE550W",
"PTE500",
"PT750W",
"PTD800W",
"PTE800W",
"PTE850TKW",
"PTP900W",
"PTP960NW",
"QL810W",
"QL800",
"QL820NWB",
"PTP300BT",
"QL1100",
"QL1110NWB",
"QL1115NWB",
"PTP710BT");
String [] retArray = new String[printerList.size()];
retArray = printerList.toArray(retArray);
WritableArray promiseArray = Arguments.createArray();
for(int i=0; i < retArray.length; i++){
promiseArray.pushString(retArray[i]);
}
promise.resolve(promiseArray);
} catch (Exception e) {
e.printStackTrace();
}

}

@ReactMethod
public void getPaperSizes(final Promise promise) {
try {
List<String> paperSizeList = new ArrayList<>();
Collections.addAll(paperSizeList, "W17H54",
"W17H87",
"W23H23",
"W29H90",
"W29H42","W38H90",
"W39H48",
"W52H29",
"W54H29",
"W62H29",
"W62H100",
"W60H86",
"W12","W29", "W38",
"W50", "W54",
"W62", "W62RB");
String [] retArray = new String[paperSizeList.size()];
retArray = paperSizeList.toArray(retArray);
WritableArray promiseArray = Arguments.createArray();
for(int i = 0; i < retArray.length; i++) {
promiseArray.pushString(retArray[i]);
}
promise.resolve(promiseArray);
} catch (Exception e) {
e.printStackTrace();
}
}

虽然我的 JS 代码看起来像这样:

// Two arrays
printerList = [];
paperSizes = [];

// Functions

getPrinterList = async () => {
this.printerList = await MyRNModule.getPrinterList();
}

getPaperSizes = async () => {
this.paperSizes = await MyRNModule.getPaperSizes();
}

最佳答案

错误信息说明了一切。

com.facebook.react.bridge.readablenativemap cannot be cast to java.lang.string

您正在返回一个 array 就好了,除了 string 是预期的。

为了解决这个问题,你可以通过join将数组转换成字符串。 .

关于javascript - React Native 无法返回数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54750052/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com