解构方法传递对象

117 阅读1分钟

例子:
/* 这是解构,不是赋值,解构出的123是默认值 / function fn({x=1,y=2,z=3}){ console.log(x,y,z); } fn({}); / 传入参数,且不在乎顺序,参数会通过key名来直接对应,遇到不需要传的可以不传 */ fn({x:10,y:20,z:30})

    export const httpServe = ({ path='', params = {}, method = 'get', data = {} }={}) => {
return new Promise((resolve, reject) => {
    instance({
        url: path,
        params,
        method,
        data
    })
        .then(res => {
            resolve(res)
        })
        .catch(err => {
            reject(err)
        })
})

} /*这种调用的写法 必须要按照顺序 / / get请求的调用方法 / / httpServe('users',{name:'zhangsan'}) / / post请求的调用方法 / / httpServe('login',{},'post',{username:'admin',password:'123123'}) */

/* 使用对象解构的方式来传参 / / 目的 这样的话就不用考虑参数的顺序问题,参数会通过key名来找到对应的值 而且没有必要传的值 比如post请求不需要传params 那么就可以不传 / / get请求的调用方法 / / httpServe({ path:'users',params:{name:'zhangsan'} }) / / post请求的调用方法 / / httpServe({ method:'post',data:{username:'admin',password:'123123'},path:'login' }) */