refactor(util) asyncCall