Visualizzazione dei risultati da 1 a 2 su 2

Discussione: concorrenza tra thread

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    12

    concorrenza tra thread

    Salve,
    ho un problema tra concorrenza di thread usando jquery e ajax.
    Mi spiego: l'utente, tramite delle azioni, aggiorna un valore numerico dato dalla somma di altri valori. Questo aggiornamento è dato da dalla chiamata di una funzione inserita in un file js ed è di questo tipo:

    function aggiorna{

    // richiama una serie di chiamate ajax che aggiornano il valore:
    if( x > 0) funzione1;
    if (y > 0) funzione 2;

    }

    Le funzioni ajax sono state rese sincrone, in questo modo una non parte se l'altra non ha finito. Ora vorrei disabilitare il bottone di submit durante l'aggiornamento oppure che apparisse la classica immagine di attesa.
    Ho quindi modificato il codice di sopra in questo modo:

    function aggiorna{

    $("bottone").disabilited = true;

    // richiama una serie di chiamate ajax che aggiornano il valore finale del tipo:
    if( x > 0) funzione1;
    if (y > 0) funzione 2;

    $("bottone").disabilited = false;
    }

    Codice maccheronico a parte, su firefox funziona tutto come dovrebbe il codice viene eseguito in modo sequenziale ed il bottone viene disabilitato fintanto che tutti i conti sono stati fatti. Mentre su ie, safari e chrome è come se la parte di jquery venisse eseguita prima delle chiamate alle funzioni (o non so come si comportino realmente quei browser) fatto sta che la disattivazione del bottone (o l'apparizione dell'immagine di attesa) avviene talmente veloce che è come se non funzionasse!
    Come posso risolvere il problema?

  2. #2
    Non ho capito nulla.

    Ma comunque in javascript non ci sono thread o concorrenza, tutto viene eseguito all'interno dello stesso thread. Inoltre disabilited è un attributo che non esiste, al limite è disabled.

    E il codice scrivilo usando i tag [ code ]
    max

    Silence is better than bullshit.
    @mmarcon
    jHERE, Maps made easy

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.