根据函数执行将值设置为true或false

问题描述 投票:0回答:1

我在我的应用程序中对接和取消停靠功能。

当用户取消停靠窗口并重新停靠时,将执行function1function2

如果用户关闭了取消停靠窗口(弹出窗口),则只会执行function2

问题是,如果function1执行,我想将值设置为true。我无法改变功能的顺序。

我该怎么做?请帮忙

function1(){
 this.Watch.setValue(true);
}

function2(){
this.Watch.setValue(false);
}
javascript
1个回答
0
投票

希望这个bind函数可能有所帮助,点击运行查看结果,使用新函数将更新值

const [dock, undock, getValue] = bind(oldDock, oldUndock, false)

console.log(getValue())
dock()
console.log(getValue())
undock()
console.log(getValue())


function bind(toTrue, toFalse, initValue) {
  let val = initValue
  return [
    (...args) => {
      val = true
      toTrue(...args)
    },
    (...args) => {
      val = false
      toFalse(...args)
    },
    () => val,
  ]
}

function oldDock() {
  console.log('dock')
}

function oldUndock() {
  console.log('undock')
}
© www.soinside.com 2019 - 2024. All rights reserved.