gpt4 book ai didi

javascript - nodejs return callback() 和 just callback() 有什么区别

转载 作者:行者123 更新时间:2023-11-30 07:01:58 27 4
gpt4 key购买 nike

我认为这实际上可能会回答我关于 Stack Overflow 的另一个问题如果我能确认这一点。

返回回调和只调用回调有什么区别?

我看到代码执行其中之一/或/两者,并试图思考为什么以及何时执行哪个。

function test(x, y, callback){
return callback(null, x);
callback(null, x + y);
}

test(1, 2, function(err, results){
if(!err){
console.log('results:\n', results);
} else {
console.error('err:\n', err);
}
});

编辑:我认为我的部分问题解决了我的 linked question ,我会经常收到错误,回调已经调用。

我试图理解这两种不同方式在我脑海中做同一件事的概念差异。不知道为什么当我提出问题以更好地理解我尚未掌握的概念时,我被否决了。我们不是都在这里通过向比我们自己更好的程序员提问来扩展我们的编程知识吗?

最佳答案

return callback();
//some more lines of code;

评论部分不会在上面执行,但会在下面

callback();
//some more lines of code;

编辑:

当然,返回会帮助调用异步函数的上下文获取回调返回的值,但通常不会调用异步函数来分配任何内容。

此外,您通常将此技巧与 if block 一起使用,如下所示:

asyncFunction (params, callback) {
if(err) callback(err, null);
callback(err, result);
}

为了避免回调被调用两次,你可以这样做:

asyncFunction (params, callback) {
if(err) return callback(err, null);
callback(err, result);
}

关于javascript - nodejs return callback() 和 just callback() 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43075181/

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