Node.js 如何在模块模式中初始化
如何初始化全局模块作用域的async.queue? 下面的示例显示了主要问题,Node.js 如何在模块模式中初始化,node.js,async.js,Node.js,Async.js,如何初始化全局模块作用域的async.queue? 下面的示例显示了主要问题,qq未定义、未知或仅在函数范围内局部定义 目标是访问不同模块成员函数中的“模块全局”q。 因此,在中创建示例的模块模式版本 我知道为什么//不起作用-代码是无效的,它只是显示了我尝试过的声明想法 另外,我知道如何使用不同的模式来解决问题,但这并不能回答问题 var mymodule = (function() { 'use strict'; var async = require('async');
qq
未定义、未知或仅在函数范围内局部定义
目标是访问不同模块成员函数中的“模块全局”q
。
因此,在中创建示例的模块模式版本
我知道为什么//不起作用
-代码是无效的,它只是显示了我尝试过的声明想法
另外,我知道如何使用不同的模式来解决问题,但这并不能回答问题
var mymodule = (function() {
'use strict';
var async = require('async');
// var q = async.queue(mymodule.qq); // not working
// var q ; // not working
var mymodule = {
// q = async.queue(this.qq); // not working
init: function() {
// var q = async.queue(this.qq); // local not global
// q = async.queue(this.qq); // not working
q.drain = function() {
console.log('all items have been processed');
}
},
add: function(task) {
this.q.push(task);
},
qq: function(task, callback) {
console.log(task);
callback();
},
};
return mymodule;
}());
我不知道从模块中分离异步如何帮助初始化队列,或者我找不到类似var q=async.queue(mymodule.qq)的东西。还有一个主要的想法没有实现“将所有内容都保持在模块范围内”
'use strict';
var async = require('async');
var mymodule = function(){
//This will be you constructor
//You can do something like this
this.queue = async.queue(function(task, callback){
console.dir(task);
}, 4);
};
//Now start adding your methods
mymodule.prototype.add = function(task){
this.queue.push(task, function(){});
};
mymodule.prototype.qq = function(task, callback){
// ..
callback()
};
//export it
module.exports = mymodule;