巧用map编写后台管理系统中的接口调用

306 阅读1分钟

在后台管理页面中,经常有这么一个需求,就是你需要添加一条信息,或者编辑一条信息。

新增和编辑都由同一个路由进入一个页面,只是新增和编辑需要调用不同的接口,这时候用map写法就会简单很多


常规写法(其中editType是判断是点新建还是编辑键进入该路由)

if (this.editType === 'edit') {
    //调用编辑接口
    updateOrg(参数).then(res => {     
    // console.log(res.data.content)       
        .......    
    })
}else if(this.editType === 'add'){
    //调用新增接口
    addOrg(参数).then(res => {         
    // console.log(res.data.content)      
         .......    
    })
}

用map写法

let operate = new Map([
    ['add', addOrg], 
    ['edit', updateOrg]
])                
operate.get(this.editType)(参数).then(res => {
    //console.log(res.data.content)
        ...               
})

 一个对象的键只能是字符串或者 Symbols,但一个 Map 的键可以是任意值,包括函数、对象、基本类型

map对象的get方法可以传入key得到该key对应的value

比如 let perate = new Map([ ['add', "添加接口"], ['edit', "编辑接口"] ])

perate.get("add")  // "添加接口"