我想解决一个承诺(下面的代码)并将结果分配给qrCode变量。
const qrCode: string = await ... ?; // some async method here...?
QRScanner.prepare((err: QRScannerError, status: QRScannerStatus) => {
QRScanner.scan((err: QRScannerError, value: string) => {
Promise.resolve(value); // return value to qrCode variable...
}
});
}
});
我如何修改代码以将诺言值转换为qrCode变量?
答案 0 :(得分:0)
如果可以的话,将qrCode变量从常量更改为全局变量,如下所示:
global qrCode; // and then....
function returned(){
return QRScanner.prepare((err: QRScannerError, status:QRScannerStatus) => {
QRScanner.scan((err:QRScannerError, value: string) => {
return value;
});
}).promise();
}
// assign value to qrCode
returned().then(function(value){
qrCode = value;
});
//如果定义了qrCode,请执行一些操作!例如
if(typeof qrCode !== 'undefined'){
// user qrCode here
}
//请注意,await仅在异步函数中起作用 查看用法here
我希望这会有所帮助。