asyncModuleFactory({ block, chunkGraph, runtimeRequirements, request }) {
		const dep = block.dependencies[0];
		const module = chunkGraph.moduleGraph.getModule(dep);
		const ensureChunk = this.blockPromise({
			block,
			message: "",
			chunkGraph,
			runtimeRequirements
		});
		const factory = this.returningFunction(
			this.moduleRaw({
				module,
				chunkGraph,
				request,
				runtimeRequirements
			})
		);
		return this.returningFunction(
			ensureChunk.startsWith("Promise.resolve(")
				? `${factory}`
				: `${ensureChunk}.then(${this.returningFunction(factory)})`
		);
	}
@param {object} options options
@param {AsyncDependenciesBlock} options.block the async block
@param {ChunkGraph} options.chunkGraph the chunk graph
@param {RuntimeRequirements} options.runtimeRequirements if set, will be filled with runtime requirements
@param {string=} options.request request string used originally
@returns {string} expression