gpt4 book ai didi

javascript - Node 原型(prototype)和异步

转载 作者:太空宇宙 更新时间:2023-11-04 00:49:59 25 4
gpt4 key购买 nike

当我调用 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());

};

最佳答案

您可以向读取函数添加回调,就像递归函数一样,例如:

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);
});
};

网上有很多链接更详细地解释了回调,您应该研究一下。然而,一旦你掌握了这些,我建议你阅读有关 Promise 的内容,因为它们更容易处理。

关于javascript - Node 原型(prototype)和异步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33060495/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com