make cache prompt by async to support chrome