Warten Sie eine Sekunde, in jeder Schleife
Habe ich das Programm, dass ich es will jeden code dann warten Sie, und führen Sie dann folgenden code
hier meine codes:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim msg() As String = {"a", "b", "c", "e"}
For Each item In msg
MessageBox.Show(item)
Next
End Sub
wenn ich schreiben wollen, einen einfachen pseudocode, es wäre so:
for each item in msg
print(item)
wait one second
next item
- u verwenden können
delay
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie markieren die Methode als async.
Rahmen-Einschränkungen, wenn Sie Sie nicht verwenden async-Funktion, die Sie haben zu tun, dass mit timer oder einen anderen Mechanismus.
Task.Delay(1000)
zurückTask
die schließlich erreichen nach Abschluss zur Verfügung gestellt Millisekunden(1000 in diesem Fall). Wir warten(asynchron warten) auf diese Aufgabe. AktivierenAwait
- Funktion benötigen Sie zur Markierung der Methode alsAsync
.Wird dies führen Sie wie async/await funktioniert.
Für .net 4.0, und wer nicht verwenden können, Bcl.Async-pack folgenden code helfen.
Anwendungsfall:
Code ist ziemlich einfach, ich glaube keine Erklärung notwendig 🙂 Wenn etwas schreiben Sie einen Kommentar.
Enumerate
Methode gibt eine Aufgabe, so dass Sie können warten,auf, oder befestigen Sie eine Fortsetzung oder was auch immer. (Sie können hinzufügen,
Storno-Funktion etc).
UI-thread(da SynchronizationContext), wenn keine zur Verfügung gestellt, so dass Sie
kann update UI im callback leicht.
P. S: entschuldigt für c# - code, bin im Grunde c# Kerl, Es wird Tage dauern, für mich, um code in Vb.Net :p
Können Sie dies, indem Sie thread schlafen für einige Sekunden, wie unten gezeigt
some seconds as shown below
. 😉Sleep
nimmt milli Sekunde als parameter 😉Habe ich benutzt, Gewinde in meinem code, weil schlafen hängen Sie die Anwendung.