【发布时间】:2014-09-30 21:00:05
【问题描述】:
我正在为我的站点在 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 和其他方法都没有同样有效。我肯定做错了,但我看不出是什么。
【问题讨论】:
-
函数是返回还是挂起?当你说回调没有被调用时,你是指发布的回调,控制台日志行还是承诺中的回调?最后,您是否尝试过在没有 Promise 的情况下使用 createBlockBlobFromLocalFile(或其他方法,如 createBlockBlobFromStream),而是使用标准异步回调模式?
-
1 - 函数是返回还是直接挂起 - 它返回速度摘要 2 - 没有调用回调 - createBlockBlobFromLocalFile 的回调是未调用,包含日志记录的语句。 3 - try without Promise - 还没有尝试,但我尝试在不递归访问文件夹的情况下上传文件。它成功了。至于承诺 - 我不确定它是否会与 azure 库代码混淆,因为它是独立模块
标签: node.js azure azure-blob-storage