The function of Promise is implemented by handwriting, and the goal is to be completely consistent with the function of native Promise.