用来剥开外层的 Promise,拿到内部的真正数据 type myAwaited<T> = T extends Promise<infer U> ? U : myAwaited<U> 这里用到了infer关键字以及递归