gpt4 book ai didi

javascript - 将变量传递给延迟完成

转载 作者:行者123 更新时间:2023-11-28 07:40:01 24 4
gpt4 key购买 nike

我正在尝试将变量传递到 done 回调中,但没有成功。

var getDataForCompany = function(company_id) {

$.ajax({
type: "post",
url: url,
data:{
company_id: company_id
}

}).done(function(returnedData, textStatus, jqXHR) {

anotherFn(company_id);
//need to access company_id here, but it is undefined


});

};

我尝试将整个 AJAX 请求包装在 IIFE 中,以尝试关闭以捕获我的 company_id,但是

var getDataForCompany = function(company_id) {

($.ajax({
type: "post",
url: url,
data:{
company_id: company_id
}

}).done(function(returnedData, textStatus, jqXHR) {

anotherFn(company_id);
//need to access company_id here, but it is undefined


})(company_id);

};

也无法工作。这不是正确的方法吗?

最佳答案

正如评论中提到的,匿名done函数应该引用通过getDataForCompany调用传入的company_id。它可能只是在传入时未定义。下面的代码类似于 ajax 调用的闭包设置。如果运行该方法,您将看到 company_id 将被记录。

var getDataForCompany = function(company_id) {

var done = function() {
console.log(company_id)
}

done();
};





getDataForCompany("ID")
>>"ID"
getDataForCompany()
>>undefined

关于javascript - 将变量传递给延迟完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28175274/

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