<ruby id="xh9j9"></ruby>

<th id="xh9j9"></th>

    1. <rp id="xh9j9"><object id="xh9j9"></object></rp>
      <rp id="xh9j9"></rp>

        首頁 > 編程學習 > promise解決回調地獄問題

        promise解決回調地獄問題

        發布時間:8/16/2022 3:48:50 PM
                //promise解決回調地獄問題
                function eat(fn) {
                    setTimeout(() => {
                        fn('吃飯')
                    }, 2000) 
                }  
                function xizao(fn) {
                    setTimeout(() => {
                        fn('洗澡')
                    }, 1000)
                }
                eat(function (data) {
                    console.log(data)
                    xizao(function (data) {
                        console.log(data)
                        xizao(function (data) {
                            console.log(data)
                            xizao(function (data) {
                                console.log(data)
                            })
                        })
                    })
                }
                )
                //異步函數的調用會產生回調地獄,代碼會像一坨屎
         
         
                function eat() {
                    return new Promise((resolve) => {
                        setTimeout(() => {
                            resolve('吃飯')
                        }, 2000)
                    })
                }
                function xizao() {
                    return new Promise((resolve) => {
                        setTimeout(() => {
                            resolve('洗澡')
                        }, 1000)
                    })
                }
                //通過Promise的then方法解決回調地獄問題,代碼會變成一行一行的,不會嵌套
                eat().then((res) => {
                    console.log(res + '1')
                    return xizao()
                }).then((res) => {
                    console.log(res + '1')
                })
                //通過async,await函數將異步函數以同步的形式執行
                async function run() {
                    let eat1 = await eat()
                    console.log(eat1 + '2')
                    let xizao1 = await xizao()
                    console.log(xizao1 + '2')
                }
                run()
        Copyright ? 2010-2022 wtld.cn 版權所有 |關于我們| 聯系方式
        日本精品人妻

        <ruby id="xh9j9"></ruby>

        <th id="xh9j9"></th>

        1. <rp id="xh9j9"><object id="xh9j9"></object></rp>
          <rp id="xh9j9"></rp>