0
我刚开始使用FRP和培根,所以请原谅我对术语的无知。BaconJS目录结构递归示例
我在一个项目,我试图在谷歌驱动器中创建一个目录结构。我需要确保在子目录之前创建父目录以创建层次结构。
我写了下面的代码。但是,几分钟后,我遇到了Google抛出的“超出用户访问量限制”的情况,这意味着我打电话过快地请求了太多的请求。
我需要找到一种方法来递归地优化创建目录,然后希望添加一些批处理,以便加快顺序调用。
有没有人有关于如何做到这一点的想法?
var _generateFolder = function(dirArray, gDrive, parentDir) {
// chunk array into size of 2 elements
var chunked = _.chunk(dirArray, 5)
return Bacon
.sequentially(1000 * 5, chunked) // Stream with all the chunks
.flatMapConcat(function(arrayChunk){ // Stream for all items
return Bacon.fromArray(arrayChunk)
})
.flatMap(_createOrUpdateGFolder)
.filter(function removeAllItemsWithNoChildren(dir) {
return dir.children.length > 0;
})
.flatMap(function createSubDirectoriesForItem(dir) {
console.log("Sync children folders:" + dir.title);
return _generateFolder(dir.children, gDrive, dir);
})
}
dir = {
title:"A",
children:[
{
title: "AA"
children:[
{
title:"AAA",
children:[]
}
]
},
{
title: "AB"
children:[
{
title:"ABA",
children:[]
},
{
title:"ABB",
children:[]
}
]
},
]
}
_generateFolder(dir, drive, null)
有没有办法让一个流,递增目录到该流,递归?然后在该流上使用chunk + sequential?