我在blob存储上为我的网站上传递归内容文件夹。 总体例程非常简单:
1 - 丢弃容器(如果存在)(运行良好)
2 - 创建容器(运行正常,但必须告诉它这是一个需要很少尝试的迭代过程)
3 - 递归运行文件夹并将文件作为blob上传到存储(部分正常)
第三步快速运行,但既不会引发内部错误也不会调用我的回调
以下是blob上传的代码
upload: function( container, blobname, file ){
var p = new Promise();
this.service.createBlockBlobFromLocalFile( container, blobname, file, function( error ){
if( error ){
throw error;
}
console.log( "Uploaded file '"+ file +"' to container in '" + blobname + "'" );
p.resolve();
} );
return p;
}
我必须提到的是, createBlockBlobFromStream 等其他方法都没有。我肯定做错了,但我看不清楚。
答案 0 :(得分:0)
终于找到了我的错误,而这正是艾丽丽所说的。承诺的游戏进展不顺利。
我忘了从文件夹处理方法返回承诺,因此在天蓝色响应之前很久就完成了整个任务。
blobsService.cleanContainer( container ).
then( blobsService.createContainer.bind( blobsService ) ).
then( function(){
var folders = data.rootFolder.split( path.sep );
!!!return!!! blobsService.processFolder( container, data.rootFolder, folders[ folders.length - 1 ] );
}).
then( resolver );