gpt4 book ai didi

javascript - 为什么 .done() 需要匿名函数?

转载 作者:行者123 更新时间:2023-11-28 11:05:29 25 4
gpt4 key购买 nike

为什么这有效:

$.ajax({ url: urlIn, dataType: 'json', cache: false })
.done( function( data ) { doStuff( data ) });

但不是这个:

$.ajax({ url: urlIn, dataType: 'json', cache: false })
.done( doStuff( data ) );

第二个“数据”未定义。我花了一段时间才意识到问题所在。但它为什么会这样工作对我来说很神秘。

最佳答案

通过调用 .done( doStuff( data ) ),您实际上是在立即调用doStuff函数>。传递给 done 函数的是它的返回值,在您的情况下等于 undefined

现在,如果 doStuff 函数要返回一个函数本身,则返回的函数可以被 doStuff 作为回调调用。

您想要做的是将函数作为值传递,而不立即调用它:

$.ajax({ url: urlIn, dataType: 'json', cache: false }).done(doStuff);

关于javascript - 为什么 .done() 需要匿名函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26807063/

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