async def iter(<EOL>self,<EOL>url: Union[str, methods],<EOL>data: Optional[MutableMapping] = None,<EOL>headers: Optional[MutableMapping] = None,<EOL>*,<EOL>limit: int = <NUM_LIT:200>,<EOL>iterkey: Optional[str] = None,<EOL>itermode: Optional[str] = None,<EOL>minimum_time: Optional[int] = None,<EOL>as_json: Optional[bool] = None<EOL>) -> AsyncIterator[dict]:
itervalue = None<EOL>if not data:<EOL><INDENT>data = {}<EOL><DEDENT>last_request_time = None<EOL>while True:<EOL><INDENT>current_time = time.time()<EOL>if (<EOL>minimum_time<EOL>and last_request_time<EOL>and last_request_time + minimum_time > current_time<EOL>):<EOL><INDENT>await self.sleep(last_request_time + minimum_time - current_time)<EOL><DEDENT>data, iterkey, itermode = sansio.prepare_iter_request(<EOL>url,<EOL>data,<EOL>iterkey=iterkey,<EOL>itermode=itermode,<EOL>limit=limit,<EOL>itervalue=itervalue,<EOL>)<EOL>last_request_time = time.time()<EOL>response_data = await self.query(url, data, headers, as_json)<EOL>itervalue = sansio.decode_iter_request(response_data)<EOL>for item in response_data[iterkey]:<EOL><INDENT>yield item<EOL><DEDENT>if not itervalue:<EOL><INDENT>break<EOL><DEDENT><DEDENT>
Iterate over a slack API method supporting pagination

When using :class:`slack.methods` the request is made `as_json` if available

Args:
    url: :class:`slack.methods` or url string
    data: JSON encodable MutableMapping
    headers:
    limit: Maximum number of results to return per call.
    iterkey: Key in response data to iterate over (required for url string).
    itermode: Iteration mode (required for url string) (one of `cursor`, `page` or `timeline`)
    minimum_time: Minimum elapsed time (in seconds) between two calls to the Slack API (default to 0).
     If not reached the client will sleep for the remaining time.
    as_json: Post JSON to the slack API
Returns:
    Async iterator over `response_data[key]`