目前我正在开发一个使用条码扫描器插件(v 0.6.0)和phonegap 2.9.0的phonegap。实际的条形码扫描仪工作正常,我可以让手机调出相机/扫描仪并读取条形码。我什至可以让 result.text 显示在一个简单的警报中(只要我在回调中这样做)。但是,如果我尝试将 results.text 的值保存到全局变量或隐藏字段中,则该值在变量中未定义,并且在字段中为空。
我当前的代码
openBarcodeScanner();
var code = document.getElementById('barcode').value;
alert(code);
function openBarcodeScan(viewInfo){
var scanner = cordova.require("cordova/plugin/BarcodeScanner");
scanner.scan(function (result){
document.getElementById('barcode').value = result.text;
},
function (error){
alert ( error );
});
}
我很可能在做一些愚蠢的事情,但我这辈子都想不通。我更喜欢使用全局变量,但隐藏字段是在回调之外传递 result.text 的最后努力。
编辑:我猜这是因为异步回调,但我不确定如何在函数之外获取 result.text 。