当事件发生时调用nodejs中的函数
Call function in nodejs when an event occurs
我正在使用后端(a.js)和前端(b.js)进行子网扫描。
这里的问题是变量数据在 a 中可用.js但我在 b.js 中需要它。我认为如果我用 b 编写一个函数.js最好在 a.js 中的扫描仪找到某些东西时调用该函数。但我不知道这在 Nodejs 中是如何实现的。
---a.js---
exports.scan = function() {
scanSubnet();
var data = [ip, port,...];
//when the scanner finds something it is stored in the variable data
//now the data should be availiable in b.js
}
---b.js---
var sc = require('./a.js');
sc.scan();
//i need a function here which is called when the scanner finds something
//so i can work with the variable data
您可以在 a 中更改扫描函数.js以接受回调并使用数据调用它。
---a.js---
exports.scan = function(callback) {
scanSubnet();
var data = [ip, port,...];
callback(data);
}
---b.js---
var sc = require('./a.js');
sc.scan(function(data){
console.log(data);
});
如果扫描程序找到某些内容时只需要调用一个函数,那么您可以使用 b.js 模块中的设置函数来注册回调函数。
---b.js---
var scannerCallback;
module.exports.setScannerCallback = function(cb) {
scannerCallback = cb;
}
var sc = require('./a.js');
sc.scan();
//i need a function here which is called when the scanner finds something
//so i can work with the variable data
if (scannerCallback) {
scannerCallback(pass scanner data here)
}
如果扫描程序数据可能有多个侦听器,则可能需要使用 eventEmitter 并发出附加了扫描程序数据的事件,以便任何侦听器都可以看到新的扫描程序数据。
相关文章:
- NodeJS:函数与匿名函数
- 在特定时刻调用 NodeJs 函数
- 如何获取以编程方式定义nodejs函数的位置
- 将变量传递给nodejs函数
- 带有 NodeJS 函数的 AngularJS
- 是否有可能将NodeJS函数转换为纯Javascript
- 访问 expressJs 静态 HTML 中的 nodejs 函数
- nodejs 函数中的异步混淆
- Nodejs函数在内部函数完成之前返回
- 在package.json脚本中调用特定的NodeJS函数
- NodeJS函数执行命令
- 从同一个文件和不同的文件调用nodejs函数
- 暂停nodejs函数以获取其他函数的响应
- nodejs函数不返回值
- 在nodejs函数中测试回调
- 参数是如何在nodejs函数中传递的
- 从文件中获取行- NodeJS函数
- NodeJS函数范围外的变量
- DNODE是一种让Java调用NodeJS函数的方法
- NodeJS函数返回语句