有没有办法在javascript中返回一个函数而不调用它,但仍然指定参数?我正在使用 node.js 在 javascript 中简单模仿 Angular 的依赖注入(inject)系统——inject() 方法的调用方式如下:
var injectedFunction = module.inject(function (funcToRegister) {
return funcToRegister();
});
module.inject() 函数如下所示:
var inject = function(func) {
var args = resolveDependencies(func);
// so 'args' is an array of function dependencies, like [Function: funcToRegister]
return func.apply(null,args);
// not sure how to correctly return this function!
};
目前我无法弄清楚如何在不实际调用函数或只返回空对象的情况下返回函数及其更新的依赖项(作为参数)。有任何想法吗?谢谢!
最佳答案
您可以使用 bind
代替 apply
,它会部分应用该函数并返回它(它不会执行它):
return func.bind.apply(func, [null].concat(args))
关于javascript - 使用依赖注入(inject)在javascript中返回一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28665873/