gpt4 book ai didi

Javascript - 返回值或使用回调函数

转载 作者:数据小太阳 更新时间:2023-10-29 04:04:30 29 4
gpt4 key购买 nike

我很好奇什么被认为是更好的风格/做某事的正确方法。

在 javascript 中,我可以执行以下操作:

function one() {
two(param, function(ans){
// do more work
});
}

function two(param, callback) {
var answer;
//do work
callback(answer);
}

但我可以通过简单地返回答案得到类似的结果:

function one() {
var ans = two(param);
// do more work
}

function two(param, callback) {
var answer;
//do work
return answer;
}

我认为,如果您只需要“回答”,那么最好使用第二个版本并只返回该值,而不是将回调函数作为参数传递等等。我的想法是否正确?关于两者的相对性能有什么想法吗?同样,我希望返回版本在性能方面更好。

最佳答案

通常,当您调用的函数将执行以非阻塞方式完成的异步事件(例如进行 AJAX 调用)时,将使用回调函数。

非阻塞意味着一旦您调用该函数,您的代码将在您刚刚调用的函数完成其工作之前继续执行下一条语句。因此回调函数,您可以在其中放置要在非阻塞函数完成后执行的代码。

我建议直接从 two 返回 answer 而不是实现回调。太多的回调会导致所谓的 Callback Pyramid

关于Javascript - 返回值或使用回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18151526/

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