在 require.js 中返回成功数据,并带有回调

return success data in require.js with callback

本文关键字:回调 数据 成功 require js 返回      更新时间:2023-12-20

我对当前代码有一点理解问题...

我创建了一个新的需要JS模块。

define(['jquery','apiomat'],function($,Apiomat) {
var getLocation = function(data, callback) {
    Apiomat.Localization.getLocalizations("locale like 'de'", {
        data: data,
        onOk: function (data) {
            callback(data);
        }
    });
};
return {
    getData: function(data, callback) {
        getLocation(data, callback);
    }
}

}(;

如果我尝试通过以下方式访问这些功能:

var test = easy.getData();
app.logger("CALLBACK FROM COMMON: " + JSON.stringify(test));

我总是收到此错误消息。

类型错误:回调不是函数。(在"回调(数据("中,"回调"未定义(

真的不确定我做错了什么。

getData有两个参数。第二个应该是一个函数,但你根本没有传递任何参数,所以它得到的值undefined

然后,它使用相同的参数调用getLocationApiomat.Localization.getLocalizations做它的事情。最终getLocalizations(或它调用的另一个函数(调用getOK尝试调用callback

undefined不是函数,因此您会收到错误消息。


此外,getData函数没有return语句,因此将返回undefined。这意味着将返回值分配给 test 是没有意义的。


你需要传递一个函数来做你想做的任何事情:

function myCallback(test) {
    app.logger("CALLBACK FROM COMMON: " + JSON.stringify(test));
}

。并将参数传递给getData.

easy.getData("some data", myCallback);