是一个别人写的模块中的代码,想不明白,代码我太多 贴某一个片段的话也不好找问题,我把链接贴出来,大家帮忙看看 点这里 问题是这样的: 我再一个请求地址上写了
var smb2Client = new SMB2({
share: '',
domain: 'WORKGROUP',
username: '',
password: ''
});
smb2Client.readdir('', function(err, files) {
var json = "";
json += "{";
json += '"total":1,';
json += '"rows":';
json += "[";
console.log(files)
for (var i in files) {
json += "{";
json += "\"filename\":\"" + files[i] + "\""
json += "},";
}
json = json.substr(0, json.length - 1)
json += "]";
json += "}";
res.send(json);
});
我的理解是 每一次请求都会重新创建一个smb2Client对象, 我第一请求的话是没问题的,但是第二次的话socket链接就关闭了,多次调试以后再
SMB2Connection.requireConnect = function(method){
return function(){
var connection = this;
var args = Array.prototype.slice.call(arguments);
connect(connection, function(err){
// process the cb
var cb = args.pop();
cb = scheduleAutoClose(connection, cb);
args.push(cb);
// manage the connection error
if(err) cb(err);
else method.apply(connection, args);
});
}
}
中connect函数不执行, 我不懂的问题有两个: 第一个是:为什么这里的代码第二次不执行了 第二个是:function(){ return function(){ alert(0) } }这种写法 的意义 我是真不懂, 还请各位帮忙讲解讲解!