发表于: 2017-06-29 22:56:09
1 864
今天完成的事情:完成萝卜多项目的基本功能。
明天计划的事情:改样式,进行复盘demo。
遇到的问题:
在完成推荐公司的中普通公司的过程中,感受到异步操作的深深的恶意。本来我是想通过将所有的最新职位数组去重后(去掉相同公司),返回公司id,然后再通过遍历和公司id发送请求,然后获得一个数组,再利用数组中的slice就能够完成需求。如下图所示
//最新职位
projectService.getJob(vm.params,0).then(function successCallback(res) {
if(res.data.code===0){
vm.newJobTotal = res.data.data;
console.log(vm.newJobTotal);
vm.newJob = vm.newJobTotal.slice(0,8);
//获取不同公司的最新职位
for(i=0;i<vm.newJobTotal.length;i++){
if(vm.newCompanyId.indexOf(vm.newJobTotal[i].companyId)===-1){
vm.newCompanyId.push(vm.newJobTotal[i].companyId)
}
}
console.log(vm.newCompanyId);
//根据不同公司的id,通过调用公司查询的接口来返回公司名称,并剔除已认证的公司
for(i=0;i<vm.newCompanyId.length;i++) {
projectService.companyDescription(vm.newCompanyId[i]).then(function successCallback(res) {
if(res.data.code==0){
if(res.data.data.company.approved==0){
vm.newCompany.push(res.data.data.company);
}
}
});
}
//根据不同公司的id,通过调用公司查询的接口来返回公司名称,并剔除普通公司
for(i=0;i<vm.newCompanyId.length;i++) {
projectService.companyDescription(vm.newCompanyId[i]).then(function successCallback(res) {
if(res.data.code==0){
if(res.data.data.company.approved==1){
vm.companyCarouse.push(res.data.data);
}
}
});
}
/*vm.newCompanyList = vm.newCompany.slice(0,8);
console.log(vm.newCompanyList);*/
console.log(vm.companyCarouse);
}
但是我忘记了考虑一个问题,就是$http服务是异步加载的,也就是你根本不知道什么时候才能发送请求。所以得到的数组长度其实是个空值,也就不能够使用slice进行筛选。
2.在写搜索页面的头部时,我看到别人都可以使用currentState.includes都能返回出一个结果,而我的却是underfined...不知道该怎么解决这个问题。。。
searchActive":currentState.includes('search.companySearch
收获:
对于复盘结构理解更加深入了
评论