首页 > 开发 > NodeJS > 正文

阅读《深入浅出Node.js》时遇到的问题

2017-09-08 17:33:56  来源:网友分享

在第92页的smooth函数中

var smooth=function(method){ return function(){    var args = Array.prototype.slice.call(arguments, 1);    args.push(deferred.callback());    method.apply(null,args);    return deferred.promise();   };};

于是前面的文件读取函数

var readFile1=function(file,encoding){    var deferred=new Deferred();    fs.readFile(file,encoding,deferred.callback());    return deferred.promise();  };

可以简化为

var readFile=smooth(fs.readFile);readFile('file1.txt','utf-8').then(function(){    //TODO});

smooth函数的第三行对arguments的处理中,为什么传入的参数是1?不应该是0吗?

解决方案

笔误了,应当是0。有同学指出来堪误过。