最近在做一个小项目,由于team里面缺少前端工程师,临时把我抓了过去写完全没有经验的angular。
我看了一些基础的书,感到angular中的rest API 异步传输机制非常神奇。
同时也在想,如果你的下一个http请求中的参数需要上一个请求get的结果,又该如何保证一定能拿到参数,不为空值。
我试过将第二个或第三个等等http请求放在.success后面,确实是成功的,但是这样感觉代码非常冗余,嵌套层次也超级多。
请问大家有什么建议?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
楼主建议看看 promise 的嵌套 nest promise 和 promise 链式 promise chain
由于angular的$http 内置了两个快捷方法success 和 error 导致标准的then方法容易让人忽略.
楼主的需求 可以使用promise then的嵌套
例如
或者用promise chain 链式
不同的需求可以用不同的promise 形式
例如还有可以使用Q.all方法 使多个promise都完成在处理事件
在success的里面操作,可以确保数据都获取到,这里有点像promise的链式调用。
个人项目里作为baseService存在的一段代码:
下面是具体的postService:
最后在blogConroller里大概就是这样:
如果后台保证良好的 REST 接口风格的话,建议使用 $resource 官方的插件:
这时就可以使用: