Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116

    prototype.js - Try.these()

    Leggo note sull'utilizzo della funzione Try.these() della libreria prototype.
    Chiedo a chi avesse usato questa funzione se è utilizzabile in questo contesto:


    function ()
    {
    chiamo funzioneA e sto in attesa della risposta
    chiamo la funzioneB
    }


    in pratica, la prima funzione fa una richista al server e restituisce vero se ha buon esito
    solo dopo la risposta deve partire la seconda funzione


    ringrazio in anticipo
    Pietro

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    il codice per intenderci è questo

    codice:
    var Try = {
      these: function() {
        var returnValue;
    
        for (var i = 0; i < arguments.length; i++) {
          var lambda = arguments[i];
          try {
            returnValue = lambda();
            break;
          } catch (e) {}
        }
    
        return returnValue;
      }
    }
    Apparentemente sembra che l'utilizzo che vuoi farne non sia possibile. Alla prima funzione che restituisce un valore, il flusso esce dalla funzione these.

    Forse ti conviene più semplicemente accodare la chiamata alla seconda funzione alla fine della prima

    function A() {
    ...
    // istruzioni
    ...
    B();
    }
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Effettivamente la penso come te, solo che mi sarebbe piacciuto generalizzare la soluzione in modo indipendente dal contesto, magari con una classe (come si usa oggi )

    Per essere un poco più chiari, spiego meglio.
    Ho due pulsanti A, B.

    Clicco a intervalli regolari il pulsante A finchè la funzione ad esso associata non restituisce FATTO. Allora clicco B... e così di seguito.

    Farlo a mano, funziona sempre , ma da codice è tutta un'altra cosa

    Pietro

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.