为了账号安全,请及时绑定邮箱和手机立即绑定

Promise不是把异步变成了同步请求吧?

使用promise后,各个then都是等前一个执行结束后才执行下一个,那么ajax异步的意义不是就不存在了吗?我举个例子问吧。

比如现在我有三个ajax请求,promiseAjax(xx,xx).then().then(),

第一个ajax返回结果后,再执行第二个ajax,等第二个返回结果后再执行第三个,同时,如果下一个ajax的数据依赖上一个,可直接使用then中返回的数据

总感觉理解不对,不应该是这样,社区流行出来的智慧应该会比以前的好的。

正在回答

1 回答

说一下我的理解,Promise没有把异步变同步,只是以同步的方式来写异步,使用promise,当代码执行到resolve时跳到下一步的then方法中依次执行,执行到reject时跳到catch方法依次执行;上一步then方法中返回的值可以是一个新的Promise也可以是某一固定值,为新的Promise时会根据其resolve和reject来进行下一步的代码执行,当为固定值时会把该值传给下一步的then方法参数使用。
Ajax解决的是网页异步刷新问题,完全可以在Promise中嵌套使用ajax。

2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
进击Node.js基础(二)
  • 参与学习       76755    人
  • 解答问题       226    个

本教程带你攻破 Nodejs,让 JavaScript流畅运行在服务器端

进入课程

Promise不是把异步变成了同步请求吧?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信