我一直在尝试 node-nntp 示例。尽管以下示例适用于 misc.test,但在尝试其他组时,如果没有传入消息 ID 或文章编号,则文章函数无法获取第一篇文章。我发现如果我将有效的文章编号作为参数传递,它确实有效.
我尝试将高文章计数作为参数 firstArticle 传递,但这失败了。我是 Node 和 Javascript 的新手,所以我不确定为什么会这样。如果我用相同的文章编号对 c.article 的第一个参数进行硬编码,但显然我想将文章编号作为参数传递来获取文章,它会起作用。
var NNTP = require('nntp'),
inspect = require('util').inspect;
var c = new NNTP();
c.on('ready', function() {
var firstArticle;
c.group('test.group', function(err, count, low, high) {
console.log(count);
console.log(low);
console.log(high);
firstArticle = high;
if (err) throw err;
});
c.article(firstArticle,function(err, n, id, headers, body) {
console.log('firstArticle: ' + firstArticle);
if (err) throw err;
console.log('Article #' + n);
console.log('Article ID: ' + id);
console.log('Article headers: ' + inspect(headers));
console.log('Article body: ' + inspect(body.toString()));
});
});
c.on('error', function(err) {
console.log('Error: ' + err);
});
c.on('close', function(had_err) {
console.log('Connection closed');
});
c.connect({
host: 'news,test.com',
user: 'username',
password: 'password'
});