Есть ли какой-нибудь способ «отменить» обещание ..Done () от вызова? - PullRequest
0 голосов
/ 28 сентября 2018

Идея состоит в том, что всякий раз, когда на сервере происходит определенный сценарий, я хочу, чтобы HTTP-вызов распознавался браузером как успешный, но при этом не вызывал функцию done () отложенного объекта, возвращаемого вызовом $ .ajax.

Чтобы справиться с этим, я думал о возврате с моего сервера пользовательского HTTP-кода (2XX, не обеспечивающего ни одного из стандартных HTTP-кодов успеха).Этот код будет общим и будет возвращаться всеми вызовами на стороне сервера, которые встречают этот сценарий

Теперь, в моем коде javascript, я хочу убедиться, что если код возврата - мой пользовательский 2XX, обещаниеМетод .done не должен вызываться.

Я догадывался, что-то вроде этого должно работать.

$.ajax({
    /* url parameters here */
    success: function (data, textStatus, jqXHR) {

      /*This code is to handle custom  return code 289
      * This code ensures that if there is an issue in getting data from api side
      * the actual promise.done() method is not called. because that would cause Javascript error*/
      if(jqXHR.status === 289){        
            // Stop promise.done from being executed
            // or override the promise.done function to something harmless  

        };
      }
     },
     error: function (jqXHR, textStatus, errorThrown) {

     },
     complete: function (options, status) {

     },
     timeout: 60000
});



Есть ли какой-нибудь способ "отменить" вызываемый метод обещание стандартным способом?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...