javascript - 使用依赖注入(inject)在javascript中返回一个函数

标签 javascript node.js function dependency-injection return

有没有办法在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/

相关文章:

javascript - 如何使用 underscore.js 根据多个键进行排序?

javascript - 使用 href id 滚动到顶部

node.js - 使用 DirectLine 和网络聊天 (Node.js) 在 bot-framework v4 中发送打字指示符

c - 当我在 int main() 之前声明 Shortf 函数时收到 "return type defaults to ' int' 警告。为什么?

javascript - 使用大括号来模拟 Javascript 中的区域是否安全?

javascript - router.navigate 与查询参数 Angular 5

node.js - 如何使用nodejs对mongodb进行软删除

node.js - Windows Azure node.js Windows store 8.1 的推送通知 - 如何使用 'createRawTemplateRegistration' 模板?

C:如何检查特定变量是否已作为参数传递

javascript - 如何将对象的函数指针存储在数组中?