Fork within loop with join ALL

Is it possible to do something similar, but accomplish join_any behavior instead of join_all? All examples that I have seen on this topic always use the “wait fork” statement.

I am interested in starting multiple threads in parallel and joining them when just one completes. In particular, I want to wait for just one of any events to occur. I have tried a few variations of the following example, but without success.

Any help would be greatly appreciated. Thanks!

JH

fork
   begin
      foreach(my_cbs[i]) begin  // loop through an array of callbacks
         fork
            automatic int var_i = i;
            begin
               @(my_cbs[var_i].change_event);  // wait for an event triggered within the callback
            end
         join_none
      end
   end
join_any