如何在共享服务上调用函数 - SailsJS

时间:2015-10-12 03:51:11

标签: node.js sails.js

我有服务:

module.exports = {
  functionA: function () {
    sails.log('Hello!');
  },

  functionB: function () {
    functionA();
  }
}

然后我收到一个错误:" countPoint未定义" 作为标题,我想在共享函数上调用另一个函数,但我现在不怎么做。任何人都可以帮助我吗?

抱歉我的英语不好〜

2 个答案:

答案 0 :(得分:2)

FunctionA尚未“存在”。请记住,它是来自JSON的属性,而不是函数本身。使用引号可以帮助您理解:

module.exports = {
  "functionA": function () {
    sails.log('Hello!');
  },

  "functionB": function () {
    functionA(); // this is actually module.exports.functionA()
  }
}

将你的函数放在module.exports之外,并在没有()的情况下引用它们:

module.exports = {
  "functionA": functionA,

  "functionB": functionA
}

function functionA() {
    sails.log('Hello!');
}

答案 1 :(得分:1)

@nodeman:请回复你的回复。但我不能在模块外调用函数functionA()。然后我找到了解决方案:

文件Demo.js:

module.exports = {
  functionA: function () {
    sails.log('Hello!');
  },

  functionB: function () {
    Demo.functionA();
  }
}

通过带文件名前缀的调用函数,我在同一个模块中调用了函数。