Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何停止执行一个node.js脚本?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这个脚本:

var thisIsTrue = false;

exports.test = function(request,responsE){

    if(thisIsTruE){
        response.send('All is good!');
    }else{
        response.send('ERROR! ERROR!');
        // Stop script execution here.
    }

    console.log('I do not want this to happen if there is an error.');

}

如你所见,我想停止脚本执行任何下游功能,如果有一个错误.

我设法通过添加return来实现这一点;错误响应发送后:

var thisIsTrue = false;

exports.test = function(request,responsE){

    if(thisIsTruE){
        response.send('All is good!');
    }else{
        response.send('ERROR! ERROR!');
        return;
    }

    console.log('I do not want this to happen if there is an error.');

}

但是,“正确”的做事方式呢?

备择方案

我也看过使用process.exit()的例子;和process.exit(1);但是给我一个502错误网关错误(我认为是因为它杀死了节点?).

和callBACk();它只是给了我一个’未定义’的错误.

在任何给定点停止node.js脚本的“正确”方法是什么,并阻止任何下游函数执行?

解决方法

使用返回是停止执行功能的正确方法.你在这个进程中是正确的.exit()会杀死整个节点进程,而不是停止这个单独的功能.即使您使用回调函数,也希望返回它来停止函数执行.

ASIDE:标准回调是第一个参数是错误函数,如果没有错误,则返回null,因此如果使用回调函数,则上述内容将如下所示:

var thisIsTrue = false;

exports.test = function(request,response,cb){

    if (thisIsTruE) {
        response.send('All is good!');
        cb(null,responsE)
    } else {
        response.send('ERROR! ERROR!');
        return cb("THIS ISN'T TRUE!");
    }

    console.log('I do not want this to happen. If there is an error.');

}
@H_675_38@

大佬总结

以上是大佬教程为你收集整理的如何停止执行一个node.js脚本?全部内容,希望文章能够帮你解决如何停止执行一个node.js脚本?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。