Beim Schreiben von Code müssen wir uns häufig mit möglichen Fehlersituationen auseinandersetzen. Manchmal müssen wir jedoch einen Fehler innerhalb einer Funktion oder Methode zurückgeben, damit dieser beim Aufruf der Funktion oder Methode korrekt behandelt werden kann. In PHP haben wir mehrere Möglichkeiten, dies zu erreichen. In diesem Artikel wird erläutert, wie Fehler innerhalb von Versprechen zurückgegeben werden, um Entwicklern dabei zu helfen, Fehlersituationen besser zu bewältigen.
Ich habe eine Funktion (sendall
),如果 kgo.produce
(文档在这里)中发生错误,我想让它返回 error
) Wie schaffe ich es, die Schleife zu stoppen und einen Fehler zurückzugeben?
func (k *buffer) sendAll() error { for _, record := range k.buffer { kgo.Produce(ctx, &record, func(r *kgo.Record, err error) { if err != nil { fmt.Printf("record had a produce error: %v\n", err) // How do I return an error here and exit sendAll function? } }) } return nil }
Mir scheint, dass man damit durchkommt, indem man einfach die „lokale“ Variable überprüft.
func (k *buffer) sendAll() error { var loop error for _, record := range k.buffer { if loop != nil { break } kgo.Produce(ctx, &record, func(r *kgo.Record, err error) { if err != nil { fmt.Printf("record had a produce error: %v\n", err) // How do I return an error here and exit sendAll function? loop = err } }) } return loop }
Das obige ist der detaillierte Inhalt vonWie kann ich einen Fehler von Inside Promise zurückgeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!