如何使ajax调用异步?
我试图使用Ajax调用检索CRM记录如何使ajax调用异步?,ajax,dynamics-crm-2011,dynamics-crm,dynamics-crm-online,Ajax,Dynamics Crm 2011,Dynamics Crm,Dynamics Crm Online,我试图使用Ajax调用检索CRM记录 function RetrieveCrmRecords(entName, fields, filter, callback, orderby, errcallback) { ///<summary> /// function to Retrieve Multiple CRM records. ///</summary> //debugger; var async = !!callback;
function RetrieveCrmRecords(entName, fields, filter, callback, orderby, errcallback) {
///<summary>
/// function to Retrieve Multiple CRM records.
///</summary>
//debugger;
var async = !!callback;
var setEntityName = entName + 'Set';
var _callback = callback;
filter = (filter) ? "&$filter=" + filter : '';
var query1 = CrmServerUrl + ODATA + "/";
var query2 = setEntityName + "()" + "?";
var queryUrl = query1 + query2;
if (fields != null) queryUrl += "$select=" + fields.join(',');
if (orderby != null) {
if (fields != null) {
queryUrl += '&';
}
queryUrl += "$orderby=" + orderby;
}
queryUrl += filter;
var performRequest = function (queryUrl, fnCallback) {
var async = !!fnCallback;
var opts = { url: queryUrl }
return _makeRequest(opts, async, function (data) {
var nextData = data.__next || null;
var resultsData = data.results || data;
var responseData = { 'results': resultsData, 'next': nextData }
if (nextData) {
responseData.LoadNext = function (callback) {
return performRequest(nextData, callback);
};
}
if (async) {
fnCallback(responseData);
}
else {
return responseData;
}
}, errcallback);
};
return performRequest(queryUrl, callback);
}
因为我对ajax调用没有太多的了解,所以很难让这个函数对我来说是异步的
专家们请帮助我理解这个函数是同步的,因为var async=!!回调;这个
如果我写var async=true来代替这一行;它能使这个函数异步吗
提前谢谢。我想我完全满足了你的要求 请不要从复制和粘贴此函数的位置查看此文件。 如果你是新来的,这会让你感到困惑 只需像这样从.js文件中调用函数
function RetrieveCrmRecords(entName, fields, filter, calledForAsync, orderby, errcallback) {
//Your Code
}
function calledForAsync()
{
//Your Code
}
当RetrieveCrmRecords中的操作完成时,rest代码将精细地执行,然后它将进入调用的ForAsync
这称为异步调用。
我希望你是自找的
谢谢
安妮什