异步请求 ruturn问题

使用原因:想要方法更通用,不同参数,返回不通值。

1、错误案例(vue项目)

            getIodineAllList(regionId) {
                var that = this;
                var url = '@Url.Action("IodineAllList", "Nutrient")';
                var data = {regionId:regionId}
                var arr=[]
                $.ajax({
                    url: url,
                    data: data,
                    success: function (result) {
                        console.log('IodineAllList', result)
                        if (result.code==0) {
                            arr= result.data
                             return arr
                        }
                    }
                });
             
                return arr;
            },

错误原因:异步请求一般不使用return。

正确用法:

1后端方法拆分,每个方法专用。

2前端改为:

            getIodineAllList(regionId) {
                var that = this;
                var url = '@Url.Action("IodineAllList", "Nutrient")';
                var data = {regionId:regionId}
            
                $.ajax({
                    url: url,
                    data: data,
                    success: function (result) {
                        console.log('IodineAllList', result)
                        if (result.code==0) {
                            this.iodineAllList = result.data
                         
                        }
                    }
                });

            },

 

特殊情况需求return 怎么办? 百度:异步请求 return

 

1、watch监听iodineAllList值的变化。

2、改成同步请求。

3、

https://www.imooc.com/article/17988

https://www.q578.com/s-5-2526226-0/

https://segmentfault.com/q/1010000040425498?utm_source=sf-hot-question

https://www.cnblogs.com/hao-1234-1234/p/13203222.html

 

posted @ 2022-07-07 18:50  hao_1234_1234  阅读(158)  评论(0编辑  收藏  举报