如果我多次调用一个异步函数来改变内存状态,我将需要一个锁。例如如果我在代码中多次调用 fs.writeFile ,例如
fs.writeFile('test.txt', 'data', function(err){});
fs.writeFile('test.txt', 'data', function(err){});
如何确保不存在同步问题?有没有锁定机制?
最佳答案
Javascript 中没有针对此类问题的任何“锁定”机制。相反,您响应异步操作的完成,并将随后想要进行的操作放入该回调中。
如果您想确保这两个命令以正确的顺序发生,那么您可以并且应该手动对它们进行排序:
fs.writeFile('test.txt', 'data1', function(err){
// presumably some other code here
fs.writeFile('test.txt', 'data2', function(err){});
});
不过,我假设这是一个简化的示例,因为没有理由将一条数据写入一个文件,然后立即将另一条数据写入整个文件。因此,通常必须有一些干预代码。
关于node.js - 多次调用异步函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30336757/