asynchrone toezeggingen voor de asynchrone verbintenissen: 2,,,,,,,,,,, 98 aandelen,,,,,,, de delen van het netwerk, maandag wat in tuts + koers zal dalen tot slechts drie dollar.Niet' niet missen.,, een belofte is een opwindend is, maakt het makkelijk om asynchrone gebeurtenis.Ze laten je schrijft duidelijk, korte - en toepassing van de logica van het lage niveau van hoog niveau van de afzonderlijk optreden, als je het begrepen hebben beloofd, wil je met alles wat ze van de bu - Ajax noemen.Dat is een belofte!Het begrip,,,,, beloofd. Zodra de inzet voor het oplossen van of te verwerpen, het blijft voor altijd in deze staat. En, inzet voor een object, is een eenmalige gebeurtenissen, meestal eindigt als een asynchrone taak Ajax noemen.Ten eerste, een belofte is in een onafhankelijke staat.Uiteindelijk is het opgelost, (dat wil zeggen de taak is voltooid, of weigeren, (als de missie mislukt).Als de verbintenissen op te lossen of afgewezen, het blijft voor altijd in deze staat, de call - back - zal niet meer schieten, kun je de call - back - verplichtingen van de inzet van de brand, is opgelost of niet.Je kan nog terug, als je wilt - zelfs indien de toezeggingen zijn opgelost /geweigerd.(in dit geval, ze zullen het vuur aan), plus, je mag worden gecombineerd met de inzet van nieuwe, in de logica van de verbintenis.Dit maakt het heel gemakkelijk de code, en zei, "als al deze dingen gebeuren, andere dingen doen." en dat is alles wat je moet weten over de inzet van de produktie.Een paar verwezenlijking van keuze.Dat twee van de meest belangrijke is kris Kowal Q, de verplichtingen op basis van CommonJS /specificaties: vastleggingen (nieuwe) 1,5).Want het is overal, we gebruiken het voor de uitvoering van de in deze handleiding, $aangegane verbintenissen. De uitgestelde, ontwerpen beloofd te worden uitgesteld.Uitgestelde alleen een verplichting om het op te lossen of te verwerpen, de eigenaar.Alle andere verplichtingen zijn Read - only "een kopie, we worden besproken in het volgende hoofdstuk van deze verbintenissen.Het creëren van een vertraging, het gebruik, de dollar. Definitie van fabrikant:,,, () is een methode om uitstel, de meester van het op te lossen of te verwerpen, de inzet, var., uitgestelde = nieuwe dollar. Uitgestelde (); uitgesteld. Staat (); /"onbepaald" uitgesteld. Onze (); uitgesteld. Staat (); ///////"oplossing" uitgestelde. Aanvaard (); ///////geen effect, omdat de inzet is opgelost, (NB: de staat (), versie, is toegenomen van 1,7, de belangrijkste.1,5 /1,6, het gebruik, de isrejected () (),,, isresolved.), kunnen we een "zuivere" beloofd dat verzoekt om uitstel van de methode, ().Het resultaat is hetzelfde, behalve dat de vertraging, () (), onze,,,,, var vermist. Uitstel van = nieuwe dollar. Uitstel van verplichtingen; var () = uitgestelde. Beloof (); de verbintenis. Staat (); /"onbepaald" ('); de inzet van vertraging. Dat staat (.); /"geweigerd", dat het bestaan van de methode (), een pakket van: als je een functie is een uitstel van dit probleem kan worden opgelost, of door de andere partij te weigeren.Maar als je alleen terug te keren naar de overeenkomstige vertraging louter beloften, aan de andere kant van de staat en de aanvullende correctie kan worden gelezen.Dit is van deze aanpak van de methode van de belofte om terug te keren naar onschuld Ajax, var: gettingproducts = USD. ("de producten"); gettingproducts. De staat (); gettingproducts.resolve; ////////"onbepaald" gedefinieerd, met de naam,,, duidelijk gemaakt dat de inzet van een verbintenis.,, de bu - model van een verbintenis, als je, je kan een call - back - hou je veel gebruikt. () (),,,, niet altijd (), methoden, toezeggingen (functie) (console logboek (dat loopt als een verbintenis op te lossen. ");}); inzet. Falen (functie) (console logboek (dat loopt als het woord van God is afgewezen.");}); inzet. Altijd (functie) (console logboek ("het werkt.");});,,, uitgave nNoot: de (), dat wordt genoemd, volledig (), de belangrijkste 1.6.,, nog een extra al deze soorten call - back - een keer, dan het (de): (donecallback steno, beloofd. En dan, failcallback, alwayscallback); - om ervoor te zorgen dat in de volgorde van de verbintenissen, is opgenomen in de bijlage. Een goede zaak een reeks potentiële gedrag door de gebruikers.Laten we rekening houden met een fundamentele Ajax vormen, bijvoorbeeld.We moeten ervoor zorgen dat de vorm moeten worden ingediend in één keer, als de gebruikers die de vorm, de gebruiker krijgt een bevestiging.Voorts hopen wij dat de code houden over het gedrag van de aanvraag, en de code en aan de pagina 's met codes.Dit zal de eenheid testen te vergemakkelijken, en de vermindering van de behoefte aan als we ons de opmaak van de wijziging van het bedrag van de code veranderd, de logica van de variabele submittingfeedback = ///////toepassing van de nieuwe definitie van dollar. (); submittingfeedback. (functie (input) {%. ("feedback" input);}) /(";dollar /dom feedback"). Bij het Parlement is ingediend (functie) (submittingfeedback. Op te lossen ($(tekst, deze). Val ()); terugkeer valse; ///////te voorkomen dat een schending vormen van het gedrag van}); submittingfeedback. (functie) ($("# vaartuig extra (" en "). Lt; P > dank je feedback.< /P > "); (}); het feit dat we, door gebruik te maken van de overdracht, parameters, onze () (),, /, dat elke toezending van volledig terug.), betalingsverplichtingen, de toekomst, (), de terugkeer van een nieuwe inzet, kan Na de () de verplichtingen van de call - back - functie terug te keren,,,,, we feedback tabel code ziet er goed uit, maar er is ruimte voor verbetering van de interactie tussen.In plaats van optimisme te veronderstellen dat er na de oproep een succes zal zijn, moeten wij in de eerste plaats blijkt dat de toegezonden (in de vorm van een Ajax spinner,), en dat het welslagen of mislukken van de gebruiker of de indiening, de server van het antwoord dat we door middel van aanvullende verplichtingen van de call - back - methode is, na de dollar.Maar er is een uitdaging: wij moeten de call - back - operatie van de DOM, we hebben gezworen om ons uit onze contacten met de toepassing van de code van de DOM logica van de code.Hoe kunnen we dat, wanneer na de verbintenissen van toepassing is op een logica van de auditie?Een oplossing is "vooruit" oplossing van de aanvaarding van de verbintenis /afgekeurd, leven op buiten bereik.Maar hoe we niet gewoon een paar lijnen, (model en vitaliteit. (promise2. Opgelost);,...)?Gelukkig is dit voorziet in een methode is gebaseerd op de doelstelling:, () (),,,,, hebben dezelfde interface, dan () (), gedaan (reactie en een call - back - verwerpen, (), altijd, elke correctie (); facultatief is), maar er zijn een belangrijk verschil: en dan gewoon terug (), de aandacht van de inzet voor het (link), (de), de terugkeer van een nieuwe inzet, kan na de terugkeer van een verbintenis, (de), de auditie.Kortom, (), is de toekomst van de ramen, laten we het gedrag van een onderneming, die nog niet bestaan, dit is onze nieuwe en verbeterde, vormen de code, we beloven dat de pijpleiding verbintenissen na savingfeedback:,,, ///////toepassing van submittingfeedback = nieuwe definitie van de logica van de variabele () dollar; var. Savingfeedback = submittingfeedback. Buis (functie (input) {terugkeer dollar. ("feedback" input);}); ///////- interactieve $("# feedback"). Bij het Parlement is ingediend (functie) (submittingfeedback. Op te lossen ($(tekst, deze). Val ()); terugkeer valse; ///////te voorkomen dat een schending vormen van het gedrag van}); submittingfeedback. (functie) ($("# container"). De aanvullende ("= < die'spinner" > ");}); savingfeedback. Dan (functie) ($("container "). De aanvullende (" < P &GDank je feedback.< /P > ");}, functie) ($("container "). De aanvullende (" < p> een contact met de server. < /P > ");}, functie) ($("container te schrappen (""). Fine - tuning ");});,, gevonden op de verbintenis van hun tweede element van een genie is.Ze hebben slechts twee lidstaten, kunnen ze als een combinatie van booleaanse (hoewel booleaanse waarde mag niet weten dat de logica van de verbintenissen), die gelijk is aan de (,,) is bepaald, wanneer ($).(de) aangegane verbintenissen, en de terugkeer van een nieuwe inzet voor de naleving van deze voorschriften:,,, toen alle inzet voor de oplossing van de inzet van nieuwe is, op te lossen.In een bepaalde verplichtingen worden verworpen, de nieuwe verplichtingen worden afgewezen.Wanneer je op wacht, er meer willekeurig evenement, en je zou moeten overwegen, wanneer (),.,, terwijl de Ajax noemen is een duidelijke zaak: gebruik van, $("# container"). De aanvullende ("= < die'spinner" > "; als de dollar (USD) (" /., gecodeerde gegevens "), (" /encryptionkey dollar. ")). Daarna (functie) (///////Ajax noemen met succes twee functie ()), (///////een Ajax noemen niet}, functie) ($("container "), het schrappen van roterende (". ");}); in een ander geval is het gebruik van gebruikers, op verzoek van een hulpbron, en misschien wel of misschien niet al beschikbaar is.Bijvoorbeeld, stel dat we een chat venster, laden we de yepnope (zie te laden yepnope script is), var loadingchat = nieuwe dollar. Uitgestelde (); een yepnope ({opgenomen: "de middelen /praten. J 's", voltooid: de loadingchat.resolve}); var launchingchat = nieuwe definitie van de dollar. (de); $("# launchchat"). - (launchingchat. Oplossing); launchingchat. (functie) ($("# chatcontainer"). De aanvullende ("= < die'spinner" > ");}); dollar. Toen (loadingchat, launchingchat doen (functie). (') {%chatcontainer") (". Schrappen. Draaien");}); ///////begin te praten,, conclusies, beloofd is gebleken voor de voortdurende strijd van asynchrone spaghetti code een onmisbaar instrument.Door het verstrekken van een afzonderlijke opdracht in binaire vorm van logica en de vermindering van de staat, en dat de toepassing van het model volgen.,, als je meer wilt weten over toezeggingen en andere instrumenten, in een steeds meer een wereld wakker te houden, kijken of ik de komende e -: - asynchrone javascript gebeurtenis (Als gevolg van de code in het dieet van maart).,
De taak van dit
Next Page:De grootste in de wereld