如何重构这段代码,然后在axios内部传递一些不同的东西



如何在javascript中折射代码

const handleClick1 = () => {
axios.get("someurl.com")
.then((res) => {
console.log(JSON.stringify(res, null, 2));
----- execute something different 
})
.catch((err) => console.log(err))
};
const handleClick2 = () => {
axios.get("someurl.com")
.then((res) => {
console.log(JSON.stringify(res, null, 2));
----- execute something different 
})
.catch((err) => console.log(err))
};

const handleClick3 = () => {
axios.get("someurl.com")
.then((res) => {
console.log(JSON.stringify(res, null, 2));
----- execute something different 
})
.catch((err) => console.log(err))
};

我想创建一个函数

const axios_related = (----- execute something different) => {
axios.get("someurl.com")
.then((res) => {
console.log(JSON.stringify(res, null, 2));
----- execute something different 
})
.catch((err) => console.log(err))
};
}

并替换为

const handleClick1 = () => {
----- execute something different {
-- step1
-- step2
-- step3
---
-- stepn      
}
axios_related(----- execute something different );
};
const handleClick2 = () => {
----- execute something different {
-- step1
-- step2
-- step3
---
-- stepn      
}
axios_related(----- execute something different );
};

const handleClick3 = () => {
----- execute something different {
-- step1
-- step2
-- step3
---
-- stepn      
}
axios_related(----- execute something different );
};

创建一个接受回调的高阶函数,并在.then内部调用。

const makeHandleClick = (callback) => {
axios.get("someurl.com")
.then((res) => {
console.log(JSON.stringify(res, null, 2));
callback(res);
})
.catch((err) => console.log(err))
};
const handleClick1 = makeHandleClick(callback1);
const handleClick2 = makeHandleClick(callback2);
const handleClick3 = makeHandleClick(callback3);

最新更新