async-lock:锁定Node.js的异步代码

时间:2024-05-27 06:48:04
【文件属性】:

文件名称:async-lock:锁定Node.js的异步代码

文件大小:11KB

文件格式:ZIP

更新时间:2024-05-27 06:48:04

JavaScript

异步锁 锁定异步代码 支持ES6 Promise 支持多键锁 支持超时 支持待处理任务限制 支持域重入 100%的代码覆盖率 为什么需要锁定单线程nodejs? Node.js是单线程的,并且代码执行不会在事件循环内被中断,因此锁定是不必要的吗? 仅当您的关键部分可以在单个事件循环中执行时,这才是正确的。 但是,如果关键部分内有任何异步代码(可以通过任何I / O操作或计时器简单地触发它),则关键逻辑将跨越多个事件循环,因此并不安全。 考虑以下代码 redis . get ( 'key' , function ( err , value ) { redis . set ( 'key' , value * 2 ) ; } ) ; 上面的代码只是将redis键乘以2。但是,如果两个用户运行并发,则执行顺序可能像这样 user1: redis.get('key') -> 1 use


【文件预览】:
async-lock-master
----.jshintrc(2KB)
----.gitignore(197B)
----gruntfile.js(1KB)
----package.json(936B)
----History.md(427B)
----.travis.yml(63B)
----LICENSE(1KB)
----index.js(49B)
----README.md(4KB)
----lib()
--------index.js(5KB)
----.npmignore(196B)
----AUTHORS(90B)
----test()
--------test.js(6KB)
--------blanket.js(155B)
----.editorconfig(992B)

网友评论