文件上传
服务端
通过 multer 处理 formdata
接口签名验证
不能通过 SignGuard 验证签名,因为 Guards are executed after all middleware, but before any interceptor or pipe。而 multer 是在 Interceptors 中才解析上传数据的,因此在 SignGuard 中无法获取到 req body
当临界区代码包含异步操作时,对共享数据的访问跨越多个事件循环,此时会出现数据不一致情况
libuv主要执行IO任务,其线程池不是线程安全的,需要在JS层面维护
多个异步操作(多次调用临界区代码)同时处于临界区内
下面根据共享数据的来源和编程模型讨论
1 | #!/usr/bin/expect -d |