AngularJS with StreamSaver.js Support
AngularJS with StreamSaver.js Support
我想添加以下StreamSaver.js代码到AngularJS。同样的语法是不被接受的,所以我把代码改成了suite angular。
我得到了以下WritableStream is not defined
错误。
angular-1.5.7.min.js:117 ReferenceError: WritableStream is not defined
at Object.createWriteStream (StreamSaver.js:92)
at m.$scope.downloadFile (profile_ctrl.js:305)
StreamSaver示例代码运行正常。
fetch(url).then(res => {
let reader = res.body.getReader()
let pump = () => {
return reader.read().then(({ value, done }) => {
if (done) {
myFile.close()
return
}
myFile.write(value)
return pump()
})
}
pump()
})
而不是下面给出的修改代码。
var myFile = streamSaver.createWriteStream("filename.txt");
fetch(url).then(function(res) {
$scope.pump = function(reader) {
return reader.read().then(function(value, done) {
if (done) {
myFile.close();
return;
}
myFile.write(value);
return pump();
});
};
var reader = res.body.getReader();
$scope.pump(reader);
});
错误是由于ES6语法。以下代码适用于chrome v52浏览器中的ES5。
var myFile = streamSaver.createWriteStream("filename.txt");
fetch(url).then(function(res) {
var reader = res.body.getReader();
$scope.pump(reader);
});
$scope.pump = function(reader) {
return reader.read().then(function(result) {
if (result.done) {
myFile.close();
return;
}
myFile.write(result.value);
return $scope.pump(reader);
});
};
你最好使用angularjs中已有的包。例如,angular-file-saver试图包装filesver . js .
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 使用agility.js进行页面布局和合成
- 使用Clipboard.js复制span文本
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 强制模板刷新ember.js
- 如何编写HTML输入的JS内联
- Angular JS IE9 Hashbang url rewriting
- 使用JS将数组转换为json对象
- Node.js v6.2.0类扩展不是函数错误
- 当js函数's已执行
- 要求未定义JS回调参数
- 在自定义mean.io包中使用angular-chart.js作为依赖项
- 无法在数据endVal中设置值=“”;{{ucount}}”;使用Angular JS的CountUp
- 如何从Java/scala调用js美化程序
- deployJava.js does not support IE11
- IE在Zurb foundation.min.js中抛出' Object does 't support pro
- JSPM / SystemJS无法找到source-map-support.js
- AngularJS with StreamSaver.js Support
- Does Node.js support Map?
- How well is Node.js' support for Unicode?