并行将互连/值添加到互斥锁中的对象

时间:2018-03-13 16:03:15

标签: javascript asynchronous mutual-exclusion

我正在寻找javascript对象编辑的互斥锁。

确切的问题是:我正在从几个文件中异步读取。并将信息收集到单个对象。这可以归结为这个玩具示例

var o = {};
files_list.forEach(function(fpath){fs.readFile(fpath,
    function(err,content){
        var k = Math.floor((Math.random()*10)+1);
        if(o[k])
            {o[k].push(content);}
        else
            {o[k]=[content];} 
    }
);

据我所知,由于readFile是异步的,因此可能会同时打开多个文件。

所以我想要的是在每个读取回调中访问对象o互斥,这样两个同时读数就不会搞砸了。

使用javascript保证这一点的方法是什么? (同步阅读除外)

(明确的答案在下面给出)

0 个答案:

没有答案