在工作中經(jīng)常會(huì)碰到這樣一個(gè)需求,比如我使用ajax發(fā)一個(gè)A請(qǐng)求后,成功后拿到數(shù)據(jù),需要把數(shù)據(jù)傳給B請(qǐng)求;那么需要如下編寫代碼:
上面的代碼有如下缺點(diǎn):
后一個(gè)請(qǐng)求需要依賴于前一個(gè)請(qǐng)求成功后,將數(shù)據(jù)往下傳遞,會(huì)導(dǎo)致多個(gè)ajax請(qǐng)求嵌套的情況,代碼不夠直觀。
如果前后兩個(gè)請(qǐng)求不需要傳遞參數(shù)的情況下,那么后一個(gè)請(qǐng)求也需要前一個(gè)請(qǐng)求成功后再執(zhí)行下一步操作,這種情況下,那么也需要如上編寫代碼,導(dǎo)致代碼不夠直觀。
Promise出現(xiàn)之后,代碼變成這樣:
這樣代碼看起了就簡(jiǎn)潔了很多,解決了地獄回調(diào)的問(wèn)題。