2015-10-12 29 views
1

我的服務:如何調用函數在共享服務 - SailsJS

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

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

然後我得到了一個錯誤:「countPoint沒有定義」 標題,我想打電話共享功能的其他功能,但我現在不怎麼做。誰能幫我?

對不起,我的英語很糟糕〜

回答

2

功能A不存在。請記住,它是來自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

@nodeman:TKS您的答覆。但是我不能在模塊外部調用函數functionA()。然後我發現了一個解決方案:

文件Demo.js:

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

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

通過調用函數與文件名前綴,我叫同一個模塊中的功能。