getAjaxPromise(myUrl, true, myType, myContentType, mySuccessFunction, myFailureFunction, myData, true) .then(function(data)
{
//Do something with the data returned form second Ajax call.
//But data returned here is from first ajax.
});
self.getAjaxPromise = function(url, async, type, contentType, successCallback, errorCallback, data, isSecureCall)
{
if (isSecureCall) {
var tokenPromise = getTokenPromiseFromServer(); //Another Ajax call to get latest token from service
tokenPromise.then(function(tokenData) { //This then runs fine
return $.ajax({
beforeSend: function(request) {
request.setRequestHeader("authKey", tokenData.key);
},
url: url,
async: async,
type: type,
contentType: contentType,
success:
successCallback,
error: errorCallback,
data: JSON.stringify(data)
});
});
} else { //Just one ajax call
return $.ajax({
beforeSend: function(request) {
request.setRequestHeader("authKey" , "anonymous");
},
url: url,
async: async,
type: type,
contentType: contentType,
success: successCallback,
error: errorCallback,
data: JSON.stringify(data)
});
}
};
В приведенной выше коде, когда я пишу .then() я получаю ответ первого вызова Ajax, я не нужен ответ первого AJAX, а я хочу, чтобы получить ответ ajax внутри первого ajax's then().Получить ответ второго вызова от обещания первого зова в
Как я могу это достичь?
P.S: Я отредактировал вопрос и добавил код для справки.
Пожалуйста, покажите нам (в этом вопросе) код, о котором вы действительно спрашиваете. Код, который вы сейчас используете, не показывает никаких вызовов ajax вообще. Этот вопрос должен стоять на своем, не зависеть от взгляда на код в каком-то другом вопросе. – jfriend00
Плюс, прохождение успешной и неудачной функции к чему-то, что возвращает обещание, на самом деле не способ дизайна вообще. Используйте обещание обрабатывать успех и неудачу, а не отдельные обратные вызовы. – jfriend00
@ jfriend00 На самом деле я отправляю сообщения с мобильных устройств и не смог отформатировать код, потому что я не могу видеть панель инструментов форматирования, которая, как я уже упоминала, ранее задал вопрос для кода. Тем не менее, я редактировал и добавлял код в этот вопрос. – zeppelin