【问题标题】:Javascript: difference with using return to call a callback?Javascript:与使用 return 调用回调的区别?
【发布时间】:2013-07-20 17:45:22
【问题描述】:

想象一下这样的代码:

function foo(data) {
    // ... do something with data
}

function do(userInput, callback) {
    callback(userInput);
}

function doWithReturn(userInput, callback) {
    return callback(userInput);
}

// ...
do('Hello, World', foo);
doWithReturn('Hello, World', foo);

使用普通的 do() 而不是 doWithReturn() 有什么好处吗?

我问是因为,假设我们不知道 foo() 在内部做了什么(即它可能有一个 return 语句,也许它只是触发一个愚蠢的alert(data)),使用 doWithReturn 调用 foo() 总是只是似乎“更安全”,因为如果 foo() 恰好返回一个值,那么不使用 doWithReturn 显然是错误的。

【问题讨论】:

  • 完全取决于您编写的函数的性质。当您的do/doWithReturn 函数更像是一个真实世界的应用程序时,是否应该传递返回值通常会变得更加清晰。
  • 在不知道内部工作原理的情况下使用函数是可以的,但我不会在不知道函数返回什么的情况下使用函数...

标签: javascript callback return


【解决方案1】:

如果一个函数返回一个值,这表明它很有用。我会为函数取一个名字,一旦出现某个返回值会带来好处的场景,我就会添加一个返回值。

我不知道这是否回答了你的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-20
    • 1970-01-01
    • 1970-01-01
    • 2015-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多