gpt4 book ai didi

javascript - 将大部分代码包装在回调函数中是 JS 中的常见做法吗?

转载 作者:行者123 更新时间:2023-11-30 14:41:43 24 4
gpt4 key购买 nike

如果有人可以向我解释,处理从 ajax 调用中获取的数据的常见做法是什么?

具有回调函数允许在回调函数中使用获取的数据。

因此,我假设“玩”数据的唯一方法是在回调函数中包装一大块代码,这些代码具有依赖于数据的任何函数?

谢谢。//旁注 - 我读了 How do I return the response from an asynchronous call?已经。

我的问题是关于常见的做法。

var my_data;

$.ajax({
method: "GET",
url: "exampleurl",
success: callback

});

function callback(response) {
this.response = response;
var my_data = response;

// Does here go all the functions that will ever use my_data?


};

最佳答案

您的回调函数可以将响应数据存储在其自身范围之外。这是一个非常粗略的例子:

var DataManager = {
data: null,

loadData: function() {
$.ajax({
method: 'GET',
url: '/getdata',
success: this.onload.bind(this),
});
}

onload: function(response) {
this.data = response;
},
};

当您调用 DataManager.loadData() 时,它会使用自己的 onload 方法作为成功回调(.bind() 是必要的,以便 this 关键字将在调用 onload 时引用 DataManager

onload 将响应存储在 DataManager 对象的 data 属性中,该属性是公共(public)的。之后,任何函数都可以访问作为 DataManager.data 的响应。

关于javascript - 将大部分代码包装在回调函数中是 JS 中的常见做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49533367/

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