我有一个scrolltobottom()
函数在每个函数执行后运行。
如何重构代码,以便我不需要在任何地方输入scrolltobottom()
?
最好不要使用Jquery。
async function initBot () {
let botui = BotUI('homepage-bot', {
vue: Vue
})
let scrolltobottom = () => {
let ele = document.getElementById('botui')
document.body.scrollTop = ele.clientHeight
}
await botui.message.bot({"Hello"})
await scrolltobottom()
await botui.message.bot({"Do you like apple or orange?"})
await scrolltobottom()
await botui.message.button({"Orange", "Apple"})
await scrolltobottom()
}
答案 0 :(得分:4)
您可以创建装饰器功能
function decorateWith(targetFn, fn){
return function(){
targetFn.apply(this, arguments);
fn();
}
}
[ botui.message.bot,
botui.message.button ]
.forEach(fn => decorateWith(fn, scrolltobottom));