首页 > nodejs读取远程地址,有些没有执行的原因

nodejs读取远程地址,有些没有执行的原因


var request = nodeRequire("request");

dlog('标记1');
request.head(src, function(err, res_req, body){
    dlog('标记2');
                
}).on('error', function(err) {
    dlog('标记3');
    console.log(err)
});

标记1输出230次,标记2输出202次,标记3是0次,那意思就是有一些丢失了,最可能的原因是什么。


......
request.head(src, function(err, res_req, body){
......
}).on('error', function(err) {

题主不觉得奇怪吗,为什么两个地方的参数里都有 err,这两个 err 有什么不同?究竟应该在哪儿处理错误?

所以题主应该好好看看文档,有两种写法可以选择:

var request = nodeRequire("request");

dlog('标记1');
request.head(src, function(err, res_req, body){
    if (err) {
        dlog('标记3');
        return;
    }
    dlog('标记2');
})

或者

var request = nodeRequire("request");
dlog('标记1');
request.head(src)
.on('response', function (res) {
    dlog('标记2');
})
.on('error', function (err) {
    dlog('标记3');
});
【热门文章】
【热门文章】