老师我这个自己封装的方法有错吗

来源:5-13 tabs组件 - 封装网络请求

weixin_慕仔6263612

2022-06-11

const base_url = "https://api.imooc-blog.lgdsunday.club/api";
/**
 * 
 * @param {*} param0 (rul,,data,method,)
 * @returns 
 */
function request(url,method,data,icode) {
    return new Promise((reslove, reject) => {
        uni.request({
            url: base_url+url,  
            method,
            data,
            header:icode,
            success: (res) => {
                if (res.status) {
                     reslove(res)
                }
                else {
                        uni.showToast({
                            title: res.message,
                            icon: 'none',
                            mask: true,
                            duration:3000
                        });
                        reject(res.message)
                }
            },
            fail: (err) => {
                      reject(err)
            }
        })
    })
}

export default request

这是封装请求

import request from "../untils/request";
const api={
    getHotTab(){
         return request('/hot/tabs','get',' ',{icode:'DBBDC6A29AAECF62'})
    }
}

export default api

这是api.js

<script>
import api from '../../api/index'
	export default {
		data() {
			return {
				
			};
		},
		//uni-app生命周期函数
		created(){
       this.loadHotTabs()
		},
		methods:{
			async loadHotTabs(){
				const res=await api.getHotTab()
				console.log(res);
			}
		}
	}
</script>

这是组件
为啥为啥他最后报了一个
VM59 WAService.js:2 Unhandled promise rejection (env: Windows,mp,1.05.2204250; lib: 2.24.5)
这个错误
图片描述

写回答

1回答

Sunday

2022-06-11

你好

你的  header:icode, 写错了。 导致 network 返回了一个错误。然后你在 request 方法中通过 reject 捕获了这个错误,并且修改了promise 的状态为 reject,但是在使用 promise 时,未处理这个错误,导致 reject的状态一直冒泡,从而出现了这个错误。

0
2
Sunday
回复
weixin_慕仔6263612
可以看下这一小节:https://coding.imooc.com/lesson/521.html#mid=50220 ,你的 icode 应该以这种方式被传入: wx.request({ url: "...", + header: { + icode: '你的 icode' + }, success: (res) => {...}, });
2022-06-11
共2条回复

uni-app从入门到进阶 系统完成项目实战

专门为小程序0基础学员而设,让你拥有能上线的作品

1105 学习 · 743 问题

查看课程