[英]Exporting multiple functions with arguments
我要做的就是從模塊中導出兩個函數。 一個函數帶有一個參數,另一個不帶參數:
function initClass(params)
{
return new Promise( (resolve, reject) => {
if (!wallet) {
wallet = new WalletClient(params);
resolve(wallet);
} else {
console.log('Wallet is initialized');
resolve(wallet);
}
});
}
function getInstance()
{
return wallet;
}
僅對於initClass(params)
,我可以這樣做:
module.exports = (params) => {
initClass(params)
}
然后我將其稱為:
var init = require('./class.js')(params).initClass(params);
這很好。
現在,對於我也要導出getInstance()
,我嘗試執行以下操作,但似乎不起作用。
module.exports = (params) => {
initClass(params),
getInstance
}
這抱怨說沒有函數getInstance
。
然后我嘗試了這個:
module.exports.init = (params) => {
initClass(params)
}
module.exports.instance = {
getInstance
}
然后稱他們為:
var init = require('./class.js').init(params).initClass(params);
導出這樣的多個函數的正確方法是什么? 謝謝。
如果我理解正確,那么您嘗試導出多種方法(如果是這種情況,請簡單地使用此方法)。
module.exports = {
method: function() {},
otherMethod: function(parmas) {}
}
在您的代碼中使用這樣的代碼。
var init = require('./class.js');
init.method()
init.otherMethond(paramObj)
如果要在以下情況下使用,則需要查看有關方法鏈接的信息。
var init = require('./class.js').init(params).initClass(params);
您使它變得比所需的更加復雜。 定義函數后,可以使用以下命令將其導出:
module.exports = {
initClass,
getInstance
}
要使用它,請執行以下操作:
const init = require("./class.js");
init.initClass(params);
const instance = init.getInstance();
從模塊中導出的是一個對象(在上面的示例中我將其命名為init
),該對象包含兩個函數。 你不必在你的時間傳遞函數的參數require
。
module.exports基本上是一個帶有鍵的對象,該鍵可以引用文件的任何變量/函數。
module.exports.initClass = function (params){
...
}
module.exports.getInstance = function (){
}
導入時
var init = require('./class.') // init object has two keys -> initClass and getInstance
init.initClass('abc')
init.getInstance()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.