【发布时间】:2019-06-13 15:07:40
【问题描述】:
我的目标是从 result1 中的 getGpsData() 获取结果 或者如果我可以在 result2 中打印 result1 数据那就太好了
var serialport = require('serialport');
var gps = require('./GPS_SerialPort.js');
processGpsData();
function processGpsData() {
gps.getGpsData().then(result => {
console.log("result1: "+result); // need result here
});
console.log("result2: "+result); // need result here
}
文件 2.
var serialport = require('serialport');
module.exports = {
getGpsData:async () =>{
var port = new serialport("/dev/ttyACM0",{baudRate: 9600});
port.on('open', function () {
process.stdin.resume();
process.stdin.setEncoding('utf8');
});
port.on('error', function (err) {
console.error(err);
process.exit(1);
});
var test="";
var counter=0;
port.on("data",function(data){
counter++;
test +=data;
if(counter>30){
console.log("test1: "+test);
// return test; //need return this, but not working
port.close();
// resolve(test);
return test;
}
});
},
};
【问题讨论】:
-
@amadan,请帮我把它从重复中删除,因为我在这两个链接中看不到任何东西。事实上,甚至在我在这里发布这个问题之前,我就已经找到了这 2 个链接。我不是 javascript 专家。也许这就是为什么我不太了解提供的这两个链接中是否有答案的原因。但是据我所见。它完全不同。如果我在这里错了,请纠正我
-
再看一遍,你是对的——异步问题只是你问题的一部分。如果您可以在
result1中获取数据(但不是在result2中),这是一个单独的问题(但仍连接到我发布为重复的链接。)
标签: javascript node.js asynchronous