Node.js 如何确保事务一次发生一个
我有一个web服务器,允许用户从服务器获取项目 取回该项目后,它将被删除。并且只有一个用户可能能够获取该项目Node.js 如何确保事务一次发生一个,node.js,Node.js,我有一个web服务器,允许用户从服务器获取项目 取回该项目后,它将被删除。并且只有一个用户可能能够获取该项目 我目前正在mysql数据库上运行我的nodejs服务器。这是nodejs已经处理过的事情,还是我必须找出一种方法来确保这些事务一次发生一个。如果这是一个不能自动处理的问题,那么有没有框架可以处理这个问题?您需要手动开始和结束事务 下面是MySQL的示例代码: var mysql = require('mysql'); var connection = mysql.createConne
我目前正在mysql数据库上运行我的nodejs服务器。这是nodejs已经处理过的事情,还是我必须找出一种方法来确保这些事务一次发生一个。如果这是一个不能自动处理的问题,那么有没有框架可以处理这个问题?您需要手动开始和结束事务 下面是MySQL的示例代码:
var mysql = require('mysql');
var connection = mysql.createConnection(
{
host : 'localhost',
user : 'YOUR_USERNAME',
password : 'YOUR_PASSWORD',
database : 'DB_NAME'
}
);
connection.connect(function(err) {
if (err) {
console.error('error connecting: ' + err.stack);
return;
}
console.log('connected as id ' + connection.threadId);
});
/* Begin transaction */
connection.beginTransaction(function(err) {
if (err) { throw err; }
connection.query('INSERT INTO names SET name=?', "sameer", function(err, result) {
if (err) {
connection.rollback(function() {
throw err;
});
}
var log = result.insertId;
connection.query('INSERT INTO log SET logid=?', log, function(err, result) {
if (err) {
connection.rollback(function() {
throw err;
});
}
connection.commit(function(err) {
if (err) {
connection.rollback(function() {
throw err;
});
}
console.log('Transaction Complete.');
connection.end();
});
});
});
});
/* End transaction */
您可能正在使用nodejs寻找锁或互斥,下面是对类似主题的回答:什么是“一次一个”?web服务器通常处理来自多个用户的事务。如果您向我们展示您的代码,我们可以更具体地帮助您,并且可能会给您提供更多更好的建议,这样我们就可以确切地看到您正在尝试做什么。