目前,我们正在使用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
谢谢你的澄清!
答案 0 :(得分:0)
实际上,从同步函数中的回调中返回数据是没有意义的。通常,您会将返回的回调数据存储到模型中,以便您的视图/控制器自动更新。
如果您确实需要使用方法返回异步数据,请查看Deferred或Promises