gpt4 book ai didi

javascript - 传递回调的正确方法是什么?

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

我的代码如下:

var MyLib = (function (window, $, undefined) {
return {
URI: 'http://testpage/API/',
OnSuccess: function (data, status) { },
OnError: function (request, status, error) { },
MakeRequest: function (method, args) {
$.ajax({
type: 'POST',
url: this.URI + '/' + method,
contentType: 'application/json; charset=utf-8',
data: args,
dataType: 'json',
success: this.OnSuccess,
error: this.OnError
});
},
GetSamples: function (data1, data2) {
var args = {
data1: data1,
data2: data2
};
this.MakeRequest('GetTestData', JSON.stringify(args));
}
};
} (this, jQuery));

所以如果我想调用 AJAX 调用,我会这样做:

function OnSuccess(data, status) {
// ...
}

function OnError(request, status, error) {

}

MyLib.OnSuccess = OnSuccess;
MyLib.OnError = OnError;
MyLib.GetSamples("data1", "data2");

我不想更改 GetSamples 的签名,因此我选择按上面的方式实现它。关于这是否是一种可接受的方法(或如何改进它)的任何建议?

最佳答案

不是很 javascript 惯用的。看起来更像 .NET 代码。在 javascript 中提供回调的标准方法是将它们作为参数传递。但是,如果您不能修改 GetSamples 方法的签名,那么我想这种方法也适用于您的情况。我只是不会将其推广到您的所有 API。仅在这种特定情况下用作解决方法。

关于javascript - 传递回调的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11408055/

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