【发布时间】:2021-09-03 10:24:14
【问题描述】:
我正在尝试从 module.exports 承诺函数返回 resolve()。 我这样称呼它:
prog
.version('1.0.0')
.command('addpeer')
.argument('<pubkey>', 'Enter the pubkey (pubkey@address)')
.action((args, options, logger) => {
return addPeers({
logger,
pubkey: args.pubkey,
lnd: lnd,
},
);
})
从那里转到另一个文件,其中定义了所有 module.exports: 它从这里找到要转到的文件。我正在调用 addPeers 文件。
const importLazy = require('import-lazy')(require);
const listPeers = importLazy('./listPeers.js');
const addPeers = importLazy('./addPeer.js')
const getChannels = importLazy('./getChannels.js')
const openChannels = importLazy('./openChannel.js');
const lnurl = importLazy("./lnurl");
const AddPeer_OpenChannel = importLazy('./AddPeer_OpenChannel.js');
module.exports = {
lnurl,
listPeers,
addPeers,
getChannels,
openChannels,
AddPeer_OpenChannel
};
从那里到这里,现在我不明白如何在这里返回 Resolve,我可以返回拒绝但不能返回 resolve。
module.exports = args => {
return new Promise(async (resolve, reject) => {
if (!args.pubkey) {
return reject(new Error('404-ExpectedPubKey'));
}
if (!args.lnd) {
return reject(new Error('404-ExpectedLndAuthentication'));
}
args.logger.info("inside this");
const lnd = args.lnd;
const id = args.pubkey;
const str = id.split('@');
const pubKey = str[0];
const address = str[1];
lnService.addPeer({ lnd, public_key: pubKey, socket: address }, (err, result) => {
if(err)
reject(err);
else
resolve(result);
});
return resolve();
});
};
【问题讨论】:
标签: node.js