节点原型和异步
Node Prototypes and Async
当我调用log()时,我如何在read()中返回异步函数的值?我知道代码可能不是100%正确,但我希望你能理解。我用谷歌搜索了一下,但还是有点困惑。希望有人能帮我。
function Whatever(directory) {
this.source = 'someDir';
}
Whatever.prototype.read = function (dir) {
dir = dir || this.source;
recursive(dir, ['.*'], function (err, files) {
if (err) throw err;
return files;
});
};
Whatever.prototype.log = function() {
console.log(this.read());
};
您可以向read函数添加回调,与递归函数相同,例如:
Whatever.prototype.read = function (dir, callback) {
dir = dir || this.source;
recursive(dir, ['.*'], callback);
};
然后将错误检查和用法放入日志函数中:
Whatever.prototype.log = function() {
this.read(function(err, files){
if(err){ throw err; }
console.log(files);
});
};
网上有很多更详细地解释回调的链接,你应该调查一下。然而,一旦你掌握了这些,我建议你阅读有关承诺的内容,因为它们更容易处理。
相关文章:
- 使用“;这个“;JavaScript原型方法中的关键字
- esri javascript异步打印
- JavaScript异步问题
- 引用类变量中的原型方法
- 如何从对象的原型方法访问JavaScript对象属性
- $translateProvider.useStaticFilesLoader的Angular Translate异步定
- 异步facebook功能
- 为什么要包装每一个原型“;类“;JS中具有匿名函数的对象
- 异步并行错误
- 在Redux中,我应该在哪里编写复杂的异步流
- Node.js中的JavaScript原型对象效率
- 角度异步http自动完成
- 如何从SeleniumWebdriver获取异步Javascript响应
- 重载JS'firefox中的对象原型
- 如何使用异步调用更改工厂的变量
- “util.inherits”和在NodeJS中扩展原型之间的区别
- 附加到原型属性的Do函数没有闭包
- 在javascript中使用原型设计是否会对ajax调用和异步代码产生负面影响
- 节点原型和异步
- 从模块的原型方法返回一个值,可以是同步的也可以是异步的