Jak převést volání Ajax na Promise

Jak víte, $.ajax je nejslavnější způsob, jak provést ajax volání na jakékoli rozhraní API, ale někdy budete možná muset převést toto volání ajax založené na zpětném volání na volání založené na slibu. Ve skutečnosti pomocí této metody můžete převést jakékoli zpětné volání na slib.

function ajaxPromise(data, url, type) {
   return new Promise(function (resolve, reject) {
        $.ajax({
          type,
          url,
          data,
          success: function (response) {
            resolve(response);
          },
          error: function (error) {
            reject(error);
          },
        });
    });
}

Jaké jsou skutečné výhody této metody

  • Nyní to můžete použít v bloku try catch s asynchronním čekáním.
  • Volání ajaxu můžete volat ve smyčce for.
  • Vyhněte se peklu zpětného volání.
try {
   for (let index = 0; index < ajaxCalls.length; index++) {
       const { url, data,type } = ajaxCalls[index];
       res = await ajaxPromise(data, url, type);
   }
} catch (error) {
    console.log(error);
}

Doufám, že tento článek je pro vás užitečný.