gpt4 book ai didi

javascript - 将局部变量传递给带参数的 lambda 函数?

转载 作者:行者123 更新时间:2023-12-01 02:41:42 31 4
gpt4 key购买 nike

看看下面的例子:

var data = "abc";   

$.post(ajaxurl,data,function(results) {
console.log(data);
console.log(results)
} ,'JSON');

data = "ghi";

结果:

data: "ghi"

results: "results"

传递数据:

var data = "abc";   

$.post(ajaxurl,data,function(results) {
console.log(data);
console.log(results)
} (data) ,'JSON');

data = "ghi";

结果:

data: "abc"

results: "abc"

但是我想要实现的是传递局部变量data,但无论如何从回调中接收传递的变量。

期望的输出:

data: "abc"

results: "results"

在 PHP 中,这将类似于:

function abc($result) use ($data) {
//...
}

我怎样才能实现这种行为?

编辑 - 说明:我想将局部变量当前状态传递给带有参数的异步请求回调

最佳答案

根据评论中的对话,您想要这样:

var data = "data";
$.post(ajaxurl,data,(function(data) { // shadows outer data
return function(results) {
console.log(data); // logs "data" not "foo"
console.log(results); // logs the AJAX results
};
})(data) ,'JSON');
data = "foo";

即使异步操作稍后完成,这也会将“data”而不是“foo”记录到控制台。

关于javascript - 将局部变量传递给带参数的 lambda 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47533140/

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