Promise不是把異步變成了同步請求吧?
使用promise后,各個(gè)then都是等前一個(gè)執(zhí)行結(jié)束后才執(zhí)行下一個(gè),那么ajax異步的意義不是就不存在了嗎?我舉個(gè)例子問吧。
比如現(xiàn)在我有三個(gè)ajax請求,promiseAjax(xx,xx).then().then(),
第一個(gè)ajax返回結(jié)果后,再執(zhí)行第二個(gè)ajax,等第二個(gè)返回結(jié)果后再執(zhí)行第三個(gè),同時(shí),如果下一個(gè)ajax的數(shù)據(jù)依賴上一個(gè),可直接使用then中返回的數(shù)據(jù)
總感覺理解不對,不應(yīng)該是這樣,社區(qū)流行出來的智慧應(yīng)該會比以前的好的。
2017-08-30
說一下我的理解,Promise沒有把異步變同步,只是以同步的方式來寫異步,使用promise,當(dāng)代碼執(zhí)行到resolve時(shí)跳到下一步的then方法中依次執(zhí)行,執(zhí)行到reject時(shí)跳到catch方法依次執(zhí)行;上一步then方法中返回的值可以是一個(gè)新的Promise也可以是某一固定值,為新的Promise時(shí)會根據(jù)其resolve和reject來進(jìn)行下一步的代碼執(zhí)行,當(dāng)為固定值時(shí)會把該值傳給下一步的then方法參數(shù)使用。
Ajax解決的是網(wǎng)頁異步刷新問題,完全可以在Promise中嵌套使用ajax。