promise封装异步,并处理超时