Atbilde 1:

Visas async darbības atdod solījumu, un jūs varat izveidot savu solījumu, izmantojot

atgriezt jaunu solījumu ()

AJAX ir asinhronais tīkla zvans. kuru var apstrādāt, izmantojot solījumu vai async / gaidīt.

async networkrequest () {
ļaujiet atbildei = gaidiet $ .ajax ('myurl');
}

Atzvanīšana ir kā funkcija, kas tiek izsaukta pēc noteiktas operācijas.

tīkla pieprasījums (cb) {
atnest (URL). tad (res => res.json ()). tad (cb);
}

tīkla pieprasījums ((atbilde) => {console.info ('RESPONSE', atbilde)})

Iepriekš minētā metode tīkla pieprasījumu pieprasa vietrādim URL, un JSON atbilde tiek nosūtīta uz atzvanīšanu, kuru vēlāk var izsaukt.


Atbilde 2:

Paldies par A2A!

Nu, nav iespējams salīdzināt AJAX un abus pārējos. jo AJAX ir veids, kā nodot klienta puses pieprasījumu servera pusē, tomēr solījumi un atzvanīšana ir pilnībā uz klientu balstīti javascript objekti, kurus var izmantot dažādām klienta puses darbībām.

Galvenā atšķirība starp atzvanīšanu un solījumu ir tā, ka atzvanīšana negaida, kamēr tiks pabeigti paralēli pieprasījumi, tā ātri atgriezīs rezultātu, tiklīdz saņem pieprasījumu.

No otras puses, solījums gaida, kamēr tiks izpildīts paralēlais pieprasījums, un pēc tam atgriezīs gala rezultātu atbilstoši programmas stāvoklim.

Citiem vārdiem sakot, jūs varat izmantot Solījumu, lai mainītu zvana asinhrono darbību uz sinhronu, Nevis pilnīgi, bet jā, līdz dažam gadījumam.

Lai labāk izprastu, ņemiet vērā zemāk redzamo piemēru:

Programmas atzvanīšanas forma:

Iepriekš minētajā atzvanīšanas programmā gan atrisināšanas, gan noraidīšanas funkcijas atgriezīs savus attiecīgos izvadus neatkarīgi no viena otra pabeigšanas laika. t.i., atrisināšanas funkcija atgriezīsies ziņojumā “Pieprasīt veiksmīgu !!!” ik pēc 9 sekundēm, un noraidīšanas funkcija pēc katras 3 sekundes neatkarīgi no ziņojuma vai neatkarīgi no otra izejas parādīs ziņojumu “Pieprasīt taimautu”.

Iepriekšminētās programmas solījuma forma:

Iepriekš minētajā piemērā iepriekšējās programmas konsoles izeja būs tikai “Pieprasīt laika noildzi”, un nebūs ziņojuma “Pieprasīt veiksmīgu !!!”. jo šeit noraidīšanas metode tiks izpildīta 6 sekundes agrāk nekā atrisināšanas metode, tāpēc tā atgriezīs tikai ziņojumu, kas aprakstīts noraidīšanas metodē.

Solījumu metode arī ļauj jums noteikt programmas stāvokli un mainīt rezultātu atbilstoši jūsu vajadzībām.

Solījums, visticamāk, mēģiniet un noķeriet paziņojumus, kas ir atkarīgs no dažādiem programmas stāvokļiem.

Ir trīs galvenie solījumu metodes stāvokļi:

  • gaida: sākotnējais stāvoklis, ne izpildīts, ne noraidīts.pilnībā aizpildīts: galīgais stāvoklis, kad operācija pabeigta veiksmīgi.noraidīts: galīgais stāvoklis, kad operācija neizdevās.

Dodiet zemāk redzamajam attēlam, lai saprastu dažādu solījumu paņēmienu izturēšanos vai tā darbību:

Attēla pieklājība: Google

Kā mēs varam saistīt visus šos trīs, ti, AJAX, atzvanīšanas un solījumus?

Jūs varat saistīt AJAX atbildi, izmantojot iepriekš minēto solījuma metodi, lai AJAX zvanu padarītu drošāku un mazāk aizsargātu pret servera puses programmu.

Un ar atzvanīšanas palīdzību jūs varat veikt to pašu AJAX darbību dažādās vietās, vienkārši izmantojot atzvanīšanas funkciju.

Ja jūs jautāsit, kurš no tiem ir labāks, es vienmēr ieteikšu izmantot Atzvanīšanas vietā Solījumu, jo tas ir drošāks un ātrāks nekā atzvanīšana.

Ceru, ka tas palīdzēs!