feature(util) add asyncCall