【发布时间】:2019-06-27 19:59:38
【问题描述】:
我正在尝试使用 npm 中的 nfc 模块来读取智能卡并将结果发送到 Web 界面。
只要我的读卡器插上电源,一切都很顺利。 但是,如果没有插入读卡器,Web 服务器 (nodejs) 会冻结并且不提供页面。
这是我在utils.js中的代码:
exports.rfidPolling = function(socket){
var nfc = new NFC()
nfc.on('reader', reader => {
reader.autoProcessing = false;
reader.aid = 'F222222222';
notifyFn(socket,`${reader.reader.name} device attached`)
...
})
nfc.on('error', err => {
console.log('an error occurred', err);
errorFn(socket,`An error occured : ${err}`)
});
}
在我的文件server.js 中,我调用rfidPolling 函数如下:
...
var io = require('socket.io').listen(server);
io.on('connection', function(socket){
utils.rfidPolling(socket)
})
...
我认为nfc.on('reader',... 是它冻结的原因。
但我想不出办法避免这种情况......
谢谢
干杯
【问题讨论】:
-
尝试将其包含在 try 块中?
-
你做
nfc.start()吗?您的notifyFn是退出路径吗?您是否尝试设置断点?我的猜测是由于没有实际阅读,您的回调永远不会被调用? - 但是插入卡时它可以工作吗?奇怪...
标签: javascript node.js nfc pcsc