async def run_async(
        self,
        program: cirq.AbstractCircuit,
        param_resolver: cirq.ParamResolverOrSimilarType = None,
        repetitions: int = 1,
    ) -> cirq.Result:
        """Asynchronously samples from the given Circuit.

        Provides measurement outcomes as a `cirq.Result` object.  This
        interface will operate in a similar way to the `run` method
        except for executing asynchronously.

        Args:
            program: The circuit to sample from.
            param_resolver: Parameters to run with the program.
            repetitions: The number of times to sample.

        Returns:
            Result for a run.
        """
        results = await self.run_sweep_async(program, param_resolver, repetitions)
        return results[0]
Asynchronously samples from the given Circuit.

        Provides measurement outcomes as a `cirq.Result` object.  This
        interface will operate in a similar way to the `run` method
        except for executing asynchronously.

        Args:
            program: The circuit to sample from.
            param_resolver: Parameters to run with the program.
            repetitions: The number of times to sample.

        Returns:
            Result for a run.
        
cirq-core/cirq/work/sampler.py