ホームページ >バックエンド開発 >Golang >Promise内からエラーを返すにはどうすればよいですか?

Promise内からエラーを返すにはどうすればよいですか?

WBOY
WBOY転載
2024-02-09 17:03:08991ブラウズ

Promise内からエラーを返すにはどうすればよいですか?

コードを作成するとき、起こり得るエラー状況に対処する必要があることがよくあります。ただし、関数またはメソッドが呼び出されたときに正しく処理できるように、関数またはメソッド内でエラーを返す必要がある場合があります。 PHP ではこれを実現する方法がいくつかあります。この記事では、開発者がエラー状況に適切に対処できるように、Promise 内からエラーを返す方法について説明します。

質問内容

kgo.Produce(ドキュメントはこちら)でエラーが発生した場合に欲しい関数(sendall)があります。 エラーを返します。ループを停止してエラーを返すようにするにはどうすればよいですか?

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
}

回避策

「ローカル」変数をチェックするだけでこの問題を回避できるようです。

リーリー

以上がPromise内からエラーを返すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。