1. Promise构造函数: Promise (excutor) {}
    excutor函数: 同步执行 (resolve, reject) => {}
    resolve函数: 内部定义成功时我们调用的函数 value => {}
    reject函数: 内部定义失败时我们调用的函数 reason => {}
    说明: excutor会在Promise内部立即同步回调,异步操作在执行器中执行

    1. 2. Promise.prototype.then方法: (onResolved, onRejected) => {}<br /> onResolved函数: 成功的回调函数 (value) => {}<br /> onRejected函数: 失败的回调函数 (reason) => {}<br /> 说明: 指定用于得到成功value的成功回调和用于得到失败reason的失败回调<br /> 返回一个新的promise对象
    2. 3. Promise.prototype.catch方法: (onRejected) => {}<br /> onRejected函数: 失败的回调函数 (reason) => {}<br /> 说明: then()的语法糖, 相当于: then(undefined, onRejected)
    3. 4. Promise.resolve方法: (value) => {}<br /> value: 成功的数据或promise对象<br /> 说明: 返回一个成功/失败的promise对象
    4. 5. Promise.reject方法: (reason) => {}<br /> reason: 失败的原因<br /> 说明: 返回一个失败的promise对象
    5. 6. Promise.all方法: (promises) => {}<br /> promises: 包含npromise的数组<br /> 说明: 返回一个新的promise, 只有**所有**的promise都成功才成功, 只要有一个失败了就直接失败<br /> 7. Promise.race方法: (promises) => {}<br /> promises: 包含npromise的数组<br /> 说明: 返回一个新的promise, 第一个完成的promise的结果状态就是最终的结果状态<br />
    1. new Promise((resolve, reject) => {
    2. setTimeout(() => {
    3. // resolve('成功的数据')
    4. reject('失败的数据')
    5. }, 1000)
    6. }).then(
    7. value => {
    8. console.log('onResolved()1', value)
    9. }
    10. ).catch(
    11. reason => {
    12. console.log('onRejected()1', reason)
    13. }
    14. )
    15. // 产生一个成功值为1的promise对象
    16. const p1 = new Promise((resolve, reject) => {
    17. setTimeout(() => {
    18. resolve(1)
    19. }, 100);
    20. })
    21. const p2 = Promise.resolve(2)
    22. const p3 = Promise.reject(3)
    23. // p1.then(value => {console.log(value)})
    24. // p2.then(value => {console.log(value)})
    25. // p3.catch(reason => {console.log(reason)})
    26. // const pAll = Promise.all([p1, p2, p3])
    27. const pAll = Promise.all([p1, p2])
    28. /* pAll.then(
    29. values => {
    30. console.log('all onResolved()', values)
    31. },
    32. reason => {
    33. console.log('all onRejected()', reason)
    34. }
    35. )
    36. */
    37. const pRace = Promise.race([p1, p2, p3])
    38. pRace.then(
    39. value => {
    40. console.log('race onResolved()', value)
    41. },
    42. reason => {
    43. console.log('race onRejected()', reason)
    44. }
    45. )