Funzioni asincrone

di il
3 risposte

Funzioni asincrone

Ciao a tutti. ho un dubbio su come comportarmi nel mio caso.
Ho un button che deve fare una chiamata a una funzione asincrona. questa funzione asincrona deve aspettare che il chiamante (il button) sia terminato (quindi la sub del button si completi). Io ho optato per questa soluzione ma vorrei capire quale sia il metodo corretto

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
GestoreEventi()
End Sub

Async Sub GestoreEventi()
Await Task.Delay(10, ThreadStop.Token) 'ritorna il controllo al Button che completa il suo ciclo di vita
......
End Sub

3 Risposte

  • Re: Funzioni asincrone

    darklook ha scritto:


    Ho un button che deve fare una chiamata a una funzione asincrona. questa funzione asincrona deve aspettare che il chiamante (il button) sia terminato (quindi la sub del button si completi).
    Non mi è molto chiara l'esposizione della problematica: come è possibile che tu debba lanciare una funzione asincrona da una sub e avere la prima che attende l'esecuzione dell'ultima prima di proseguire?

    Prova a descrivere meglio lo scenario, ossia cosa fanno nella pratica le funzioni che stai cercando di chiamare e qual è il risultato da ottenere.
  • Re: Funzioni asincrone

    Allora resettiamo il discorso... facciamo cosi. ho bottone1 che mi fa partire una task.run.... poi ho bottone2 che mi deve cancellare/annullare la task partita. posso farlo senza andare a mettere tantissimi controlli dentro le sub e function a cui punta la task.run
  • Re: Funzioni asincrone

    darklook ha scritto:


    Allora resettiamo il discorso... facciamo cosi. ho bottone1 che mi fa partire una task.run.... poi ho bottone2 che mi deve cancellare/annullare la task partita. posso farlo senza andare a mettere tantissimi controlli dentro le sub e function a cui punta la task.run
    Crea un campo o una variabile che sia visibile da entrambe le sezioni di codice, quella eseguita in modo asincrono dal primo pulsante e quello del secondo pulsante che lo tiene monitorato e ne richiede eventualmente l'annullamento, oppure condividi il task e usa le funzioni incorporate di cancellazione.

    Dai un'occhiata alla documentazione su nello specifico, o più in generale sull'annullamento delle attività, per spiegazioni ed esempi più approfonditi.

    Ciao!
Devi accedere o registrarti per scrivere nel forum
3 risposte