优化completion回调