gpt4 book ai didi

jquery - "data"如何提供给 jQuery 延迟对象的 did 方法?

转载 作者:行者123 更新时间:2023-12-01 04:43:53 27 4
gpt4 key购买 nike

当在 jQuery 的延迟对象中使用回调函数时,特别是使用 ajax 调用时,该函数会被赋予三个参数: data , responseText ,和jqXHR目的。我无法遵循提供这些论点的特定逻辑。它们如何被提供给方法内部的匿名函数? data在哪里定义?

示例:

这可以工作并记录数据:

deferredObj
.done(function(data){
console.log(data)
});

这不起作用,数据是未知变量:

defferedObj
.done(console.log(data));

最佳答案

This does not work, data is an unknown variable

defferedObj.done(console.log(data));

当您使用console.log(data)作为回调时,遇到该函数时会立即调用该函数。

因此,在调用 log 时,data 变量是未定义

这就像调用函数.done(myFun())

如果你想调用函数 console.log 作为回调函数并自动传递参数,你可以将其调用为

defferedObj
.done(console.log.bind(console));
<小时/>

How are they fed to an anonymous function inside of a method? Where is data defined?

你可以认为异步函数定义如下:

function asyncDoSomething(param, callback) {
// Do something asynchronously here to get the data from somewhere
// Maybe DB/Network, etc.

// When processing is completed and data is retrieved
callback && callback(data);
}

关于jquery - "data"如何提供给 jQuery 延迟对象的 did 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32912174/

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