refine js_async