フィールドの値が条件を満たすレコード数を基にID値を生成する方法は?

レコード追加時に、フィールドに設定された値を満たすレコード数を基にID値を生成して、ID用のフィールドに設定することを考えています。
フィールド変更変更時イベントで対象フィールドに設定された値を条件にクエリを生成し、レコードを一括取得するGETメソッドを利用してレコード数を取得したのですが、フィールド変更時イベントではPromiseを利用できないので、APIを呼び出したときにイベント処理が終了してしまいます。
(このアプリでは条件を満たすレコード数は確実に100は超えないことが想定されています)

フィールドに設定された値を満たすレコード数を基にID値を生成して、ID用のフィールドに設定する方法はあるのでしょうか?

そのような処理の場合、保存実行前イベントが適していると思いますがどうでしょう?

  • 仮にフィールド変更時イベントでやってしまうと、タイミングによっては編集中にレコード数が変わる恐れがある。保存実行前であればそれを解消できる
  • ID値は保存後にわかっても問題ないはず(編集中にわからなくても問題ないはず)

どうしてもフィールド変更イベントでやりたい場合は、下記が参考になるとおもいます
https://www.joyzo.co.jp/blog/2021
https://developer.cybozu.io/hc/ja/community/posts/360054911192-%E8%BF%BD%E5%8A%A0%E7%B7%A8%E9%9B%86%E7%94%BB%E9%9D%A2%E8%A1%A8%E7%A4%BA%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%E3%81%8B%E3%82%89%E3%83%81%E3%82%A7%E3%83%B3%E3%82%B8%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%E3%82%92%E7%99%BA%E7%94%9F%E3%81%95%E3%81%9B%E3%81%9F%E5%A0%B4%E5%90%88%E3%81%AE%E6%8C%99%E5%8B%95%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6?page=1#community_comment_360008302712

ご指摘ありがとうございます。

おっしゃるとおりなので、保存実行前イベントで実装することに変更します。