ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

用不着下18层地狱-----现在就送你进入回调地狱

用不着下18层地狱-----现在就送你进入回调地狱

名字说的那么恐怖,不就是逻辑有点乱吗?

static public int like(Context context, Plan plan, String id) { LikeCallback likeCallback = new LikeCallback() { @Override public void onNetFinish(String rv) { //这一句已经把以前的记录全都删除了,不应该这样处理,应该直接 if(rv.equals("no")){ plan.tv_like_count_in_plan_item = plusString(plan.tv_like_count_in_plan_item, 1); }else if(rv.equals("yes")){ plan.tv_like_count_in_plan_item = plusString(plan.tv_like_count_in_plan_item, -1); } savePlan2server(context, plan, tag, index, id); Nettools.NetworkCallback networkCallback = new Nettools.NetworkCallback() { @Override public void onNetFinish(String rv) { } }; String url = "http://weilaifh.website:10000/django/like_plan/"; Nettools.generator(context, "id", plan.id).getHttpWithUp5Param(url, "", networkCallback); } }; isLiked(context, plan, plan.id, likeCallback); return 1; }

这个地方如果要实现功能,还需要增加一个回调,做到三层回调。不过应该也没什么,逻辑很清楚。

static public int like(Context context, Plan plan, String id,LikeCallback lc) { LikeCallback likeCallback = new LikeCallback() { @Override public void onNetFinish(String rv) { //这一句已经把以前的记录全都删除了,不应该这样处理,应该直接 if(rv.equals("no")){ plan.tv_like_count_in_plan_item = plusString(plan.tv_like_count_in_plan_item, 1); }else if(rv.equals("yes")){ plan.tv_like_count_in_plan_item = plusString(plan.tv_like_count_in_plan_item, -1); } savePlan2server(context, plan, tag, index, id); Nettools.NetworkCallback networkCallback = new Nettools.NetworkCallback() { @Override public void onNetFinish(String rv) { lc.onNetFinish(rv); } }; String url = "http://weilaifh.website:10000/django/like_plan/"; Nettools.generator(context, "id", plan.id).getHttpWithUp5Param(url, "", networkCallback); } }; isLiked(context, plan, plan.id, likeCallback); return 1; }

看,我觉得太简单了

返回列表