异步延迟加载

时间:2016-06-09 11:48:58

标签: javascript ajax node.js sapui5

目前,我们正在使用SAP HANA数据库。为了获取数据,我们将使用Node.JS-API,我们将通过AJAX调用它,以通过异步获得优势。所以这就是问题所在:

我们有很多页面需要相同的数据(例如客户数据)。为此,我想创建一个库来执行实际的数据调用,这样我只需要调用db.getCustomer([ID])。为了从AJAX获取返回值,我必须在AJAX调用中设置async: false

我现在的问题是,是否可以异步创建数据调用库?封装数据绑定(使用所谓的DAO)是一个好习惯吗? 我有点困惑,因为另一个开发人员告诉我一遍又一遍地使用相同的AJAX调用,不要松开异步,无论如何这是一个更好的做法。

以下是我的实际AJAX调用示例:

getCustomer: function( CID ) {
            var aUrl = 'http://example.com/api/customer/' + CID,
                returnData
            ;
            jQuery.ajax({
                url: aUrl,
                method: 'GET',
                dataType: 'json',
                contentType: "application/json",
                async: false,
                success: function(data) {
                    returnData = data;
                }
            });
            return returnData;
        },

// other ajax calls 
// to get the data via 1-liner

谢谢你的澄清!

1 个答案:

答案 0 :(得分:0)

实际上,从同步函数中的回调中返回数据是没有意义的。通常,您会将返回的回调数据存储到模型中,以便您的视图/控制器自动更新。

如果您确实需要使用方法返回异步数据,请查看Deferred或Promises