Fire callback when user is done typing (rather than every key press)

So this is my rudimentary attempt at a “typeahead” system for an app:

        Output(component_id='search_results', component_property='children'),
        [Input(component_id='band_search', component_property='value')]
    def search_for_band(query_string):
        if len(query_string) > 2:
            band_search_results = requests.get(
                "{}&limit=10&fmt=json".format(query_string + '*')

            formatted_results = []
            for artist in band_search_results['artists']:
                        dcc.Link(artist['name'], href=artist['id']),

    return formatted_results

This sends a GET request every key press. Is there a way to only send the request when a user is done updating the value in the “search box”?

Alternatively, I’m also open to suggestions on how to implement a better search interface entirely.

Coming soon, see Add `n_blur/n_submit` to Input. by T4rk1n · Pull Request #326 · plotly/dash-core-components · GitHub