在 underscore.js 延迟内将值传递给函数

Pass a value to a function within underscore.js delay

我正在尝试使用 underscore.js 库。

function replaceText(tab){
  removeText();
  _.delay(appendText(value), 1000)
}

但它不起作用。它适用于简单的 setTimeout。

你能帮忙吗?谢谢!

您可以通过几种不同的方式执行此操作。

使用部分应用程序:

function replaceText(tab){
  removeText();
  _.delay(_.partial(appendText, value), 1000);
}

绑定函数:

function replaceText(tab){
  removeText();
  _.delay(appendText.bind(null, value), 1000);
}

或者使用匿名函数:

function replaceText(tab){
  removeText();
  _.delay(function(){
    appendText(value);
  }, 1000);
}  

尝试

_.delay(appendText, 1000, value)

参见http://underscorejs.org/#delay_.delay(function, wait, *arguments):

"If you pass the optional arguments, they will be forwarded on to the function when it is invoked."