UNPKG

fcf-framework-lock

Version:
61 lines (48 loc) 1.24 kB
let libFS = require("fs"); let libLock = require("../index.js"); async function main(){ let file = libFS.openSync("./tests/files/test", "w"); libFS.closeSync(file); let lock1 = await new Promise((a_resolve, a_reject) => { libLock.lockFile("./tests/files/test", (a_error, a_lock)=>{ if (a_error){ a_reject(a_error); } else { a_resolve(a_lock); } }) }); let fd2 = libFS.openSync("./tests/files/test", "r"); let fd3 = libFS.openSync("./tests/files/test", "r"); setTimeout(()=>{ console.log("remove!"); libLock.unlockFile(lock1, ()=>{ libFS.unlinkSync("./tests/files/test"); }); }, 10); let lock2 = await new Promise((a_resolve, a_reject) => { libLock.lockFile(fd2, (a_error, a_lock)=>{ console.log("lock2"); if (a_error){ a_reject(a_error); } else { a_resolve(a_lock); } }) }); setTimeout(()=>{ libFS.close(lock2, ()=>{ }); }, 1); let lock3 = await new Promise((a_resolve, a_reject) => { libLock.lockFile(fd3, (a_error, a_lock)=>{ console.log("lock3"); if (a_error){ a_reject(a_error); } else { a_resolve(a_lock); } }) }); } main();