Wxdesigner-Software.deWxdesigner-Software.de
    Was ist heiß

    Meta bestätigt trotz Entlassungen Pläne für den Start von Quest 3 in diesem Jahr

    October 1, 2022

    First-Look-Poster für US/China Co-Profi „Shimmy: The First Monkey King“ enthüllt

    November 6, 2022

    5 fortschrittliche Technologien, die für Ihr Unternehmen heute unvermeidlich sind

    December 10, 2022

    Abonnieren Sie Updates

    Facebook Twitter Instagram
    Facebook Twitter Instagram
    Wxdesigner-Software.deWxdesigner-Software.de
    • Home
    • Animation
    • Software Entwicklung
    • Virtuelle Realität
    • ES
    Wxdesigner-Software.deWxdesigner-Software.de
    Home»Software Entwicklung»So bestimmen Sie den Status eines JavaScript-Versprechens
    Software Entwicklung

    So bestimmen Sie den Status eines JavaScript-Versprechens

    JoyceBy JoyceJanuary 1, 2023No Comments2 Mins Read
    Facebook Twitter Pinterest Reddit Telegram LinkedIn Tumblr VKontakte WhatsApp Email
    Share
    Facebook Twitter Reddit Pinterest Email

     

    Promises haben die Landschaft von JavaScript verändert. Viele alte APIs wurden wiedergeboren, um Promises (XHR to fetch, Battery API) zu verwenden, während neue APIs zu Promises tendieren. Entwickler können verwenden async/await mit Versprechungen umgehen, oder then/catch/finally mit Rückrufen, aber was Promises Ihnen nicht mitteilt, ist ihr Status. Wäre es nicht toll, wenn die Promise.prototype bereitgestellte Entwickler a status Eigenschaft zu wissen, ob ein Versprechen abgelehnt, gelöst oder einfach nur getan wurde?

    Meine Recherchen führten mich zu dieses Wesentliche was ich ziemlich clever fand. Ich nahm mir etwas Zeit, um ein bisschen Code zu ändern und Kommentare hinzuzufügen. Die folgende Lösung bietet Hilfsmethoden zum Bestimmen des Status eines Promise:

    // Uses setTimeout with Promise to create an arbitrary delay time
    // In these examples, a 0 millisecond delay is 
    // an instantly resolving promise that we can jude status against
    async function delay(milliseconds = 0, returnValue) {
      return new Promise(done => setTimeout((() => done(returnValue)), milliseconds));
    }
    
    // Promise.race in all of these functions uses delay of 0 to
    // instantly resolve.  If the promise is resolved or rejected,
    // returning that value will beat the setTimeout in the race
    
    async function isResolved(promise) {
      return await Promise.race([delay(0, false), promise.then(() => true, () => false)]);
    }
    
    async function isRejected(promise) {
      return await Promise.race([delay(0, false), promise.then(() => false, () => true)]);
    }
    
    async function isFinished(promise) {
      return await Promise.race([delay(0, false), promise.then(() => true, () => true)]);
    }
    

    Ein paar Anwendungsbeispiele:

    // Testing isResolved
    await isResolved(new Promise(resolve => resolve())); // true
    await isResolved(new Promise((_, reject) => reject()));  // false
    
    // Testing isRejected
    await isRejected(new Promise((_, reject) => reject())); // true
    
    // We done yet?
    await isFinished(new Promise(resolve => resolve())); // true
    await isFinished(new Promise((_, reject) => reject()));  // true
    

    Entwickler können jederzeit eine weitere hinzufügen await oder then zu einem Versprechen, etwas auszuführen, aber es ist interessant, den Status eines bestimmten Versprechens herauszufinden. Gibt es eine einfachere Möglichkeit, den Status eines Versprechens zu erfahren? Gib mir Bescheid!

     
     
    Share. Facebook Twitter Pinterest LinkedIn Reddit Email
    Previous ArticleGorillaz arbeitet mit Fx Goby für das bisher ehrgeizigste MV zusammen
    Next Article Anpassen der HTML-Formularvalidierung
    Joyce

    Related Posts

    Anpassen der HTML-Formularvalidierung

    January 2, 2023

    XR-Unterstützung mit JavaScript erkennen

    November 8, 2022

    Dokument.elementFromPoint

    October 3, 2022
    Add A Comment

    Leave A Reply Cancel Reply

    Sozial
    • Facebook
    • Twitter
    • Pinterest
    • Instagram
    • YouTube
    • Vimeo
    Spätestens jetzt

    Ist eine KI-gestützte mobile App das, was Sie jetzt für Ihr Unternehmen brauchen?

    November 7, 2022

    Meta bestätigt trotz Entlassungen Pläne für den Start von Quest 3 in diesem Jahr

    October 1, 2022

    „The Light Brigade“ ist ein vielversprechendes Roguelike mit realistischen WW2-Waffen und viel Magie – Road to VR

    January 3, 2023

    Build or Buy: Analyse des wichtigsten Schritts in der Softwareentwicklung!

    October 4, 2022
    Über uns
    Über uns

    Technologie gibt uns Macht, aber sie kann und kann uns nicht sagen, wie wir diese Macht nutzen sollen. Dank der Technologie können wir sofort mit der ganzen Welt kommunizieren, aber es hilft uns immer noch nicht dabei, zu wissen, was wir sagen sollen.

    Abonnieren Sie Updates

    Top-Einblicke

    Build or Buy: Analyse des wichtigsten Schritts in der Softwareentwicklung!

    October 4, 2022

    SAP ECC vs. SAP S/4HANA – Was sollte der nächste SAP-Schritt für Ihr Unternehmen sein?

    February 13, 2023

    Type above and press Enter to search. Press Esc to cancel.