Javascript 我的node.js代码有时有效,有时无效

Javascript 我的node.js代码有时有效,有时无效,javascript,node.js,synchronization,telegram-bot,telegraf,Javascript,Node.js,Synchronization,Telegram Bot,Telegraf,我用NodeJS和telegraf开发了一个电报机器人。 当组成员在组中添加成员时,将执行此代码 bot.on('new_chat_members', (ctx) => { if(ctx.message.new_chat_members[0]['is_bot'] == false){ Add.insertForcedAddUsersList(ctx.message.chat.id, ctx.message.from.id, ctx.message.from.firs

我用NodeJS和telegraf开发了一个电报机器人。 当组成员在组中添加成员时,将执行此代码

bot.on('new_chat_members', (ctx) => {
    if(ctx.message.new_chat_members[0]['is_bot'] == false){
        Add.insertForcedAddUsersList(ctx.message.chat.id, ctx.message.from.id, ctx.message.from.first_name, ctx.message.from.last_name, ctx.message.new_chat_members[0]['id']);
    }
});
然后这个函数工作:

var insertForcedAddUsersList = (chatId, userId, firstName, lastName, addedUserId) => {
    var sql = "SELECT * FROM forced_add_users_list WHERE chat_id="+chatId+" AND user_id="+userId;
    Model.pool.query(sql, function (err, result) {
        if (err)
            console.log(err);
        else {
            if(result[0]){
                var addedUsersIdArray = result[0]['added_users_id'].split('|');
                var repetitiveUserFlag = false;
                for(var i=0;i<addedUsersIdArray.length;i++){
                    if(addedUsersIdArray[i] == addedUserId){
                        repetitiveUserFlag = true;
                        break;
                    }
                }
                if(repetitiveUserFlag == false){
                    sql = "UPDATE forced_add_users_list SET first_name="+"'"+firstName+"',last_name='"+lastName+"',added_number='"+(parseInt(result[0]['added_number'],10)+1)+"',added_users_id='"+result[0]['added_users_id']+"|"+addedUserId+"' WHERE chat_id="+chatId+" AND user_id="+userId;
                    Model.pool.query(sql, function (err, result2) {
                        if(err)
                            console.log(err);
                        else
                            canSendMessage(chatId, userId, firstName, lastName, parseInt(result[0]['added_number'],10)+1);
                    });
                }
            }else{
                sql = "INSERT INTO forced_add_users_list(chat_id, user_id, first_name, last_name, added_number, added_users_id) VALUES(" + chatId + ",'" + userId +  "','" + firstName + "','" + lastName + "','1','" + addedUserId + "')";
                Model.pool.query(sql, function (err, result2) {
                    if(err)
                        console.log(err);
                    else
                        canSendMessage(chatId, userId, firstName, lastName, 1);
                });
            }
        }
    });
};

问题是当我同时向组中添加3个或更多成员时,有时第一个和最后一个成员添加到数据库中,有时所有成员都添加到数据库中。 有时INSERT SQL命令也会工作两次,而不是一次。
有什么问题吗。我是node js的新手。

三个成员中的哪一个被添加。。。你怎么加这三个成员?第一个和最后一个。我通过电报增加了他们的成员特征。有时还插入执行两次,三个成员中的哪一个被添加。。。你怎么加这三个成员?第一个和最后一个。我通过电报增加了他们的成员特征。有时还插入并执行两次