我需要下载~26k图像.图像列表和URL存储在csv文件中.我正在读取csv文件并尝试在循环列表时下载图像.
如果即时通讯使用小集〜1-2k它工作正常,但当我切换到全套我得到EMFILE错误.
Error: EMFILE, open 'S:\images_download\Images\189900008.jpg'
Run Code Online (Sandbox Code Playgroud)
我注意到该节点尝试一次创建所有文件,这可能是问题,但我无法强制它逐个创建它.我的理解是下面的代码应该像这样工作,但显然不是.
(只是提到这段代码是在Windows上执行的)
码:
var csv = require("fast-csv");
var fs = require('fs');
var request = require('request');
var async = require('async');
fs.writeFile('errors.txt', '', function(){})
var downloaded = 0;
var totalImages = 0;
var files = [];
csv
.fromPath("Device_Images_List.csv")
.on("data", function(data){
files.push({device: data[0], url: data[1]})
})
.on("end", function(){
totalImages = files.length;
async.each(files, function(file, callback) {
var deviceId = file.device;
var deviceUrl = file.url;
if ( deviceId != 'DEVICE_TYPE_KEY' ) {
try {
writeStream = fs.createWriteStream('./Images/' + deviceId …Run Code Online (Sandbox Code Playgroud) 有点概念上的问题
我有15个(例如)需要处理的文件。但是我不想一次处理它们。相反,我要开始处理其中5个文件(任何5个命令并不重要),只要处理了这5个文件中的一个,另一个就可以开始。这个想法是要同时处理最多5个文件,直到处理完所有文件。
试图在Node中解决这个问题,但是总的来说我错过了如何实现的想法
在我的应用程序中,我有 Snackbar 组件,该组件在多个其他组件中使用。
目前,我将 Snackbar 组件导入到将使用该组件的每个组件中,并且一切正常
想知道是否可以仅全局导入一次 Snackbar 组件并从任何其他组件访问它,而无需将其显式导入到每个组件中?
我已经开始玩了,Vue但在尝试使用时将数据传递给组件时遇到了问题props.在下面的代码this.myData(在Hello.vue)中是undefined出于某种原因
App.vue
<script>
import Hello from './components/Hello'
export default {
name: 'app',
data() {
return {
myData: 'this is my data'
}
},
components: {
Hello
} ...
</script>
Run Code Online (Sandbox Code Playgroud)
Hello.vue
<script>
export default {
name: 'hello',
props: ['myData'],
data () {
return {
msg: 'Welcome to Your Vue.js App'
}
}
mounted: function() {
console.log(this.myData)
}
} ...
</script>
Run Code Online (Sandbox Code Playgroud) 我有一个PowerShell ArrayList($displayObjects),其中包含:
Name ID Tags
---- -- ----
Test1 123 {@{id=4567; name=test1;}}
Test2 345 {@{id=4567; name=test1;}, @{id=6789; name=test2}}
Test3 567 {@{id=4567; name=test1;}, @{id=6789; name=test2}, @{id=7890; name=test3}}
而另一个:
$filter = @('test1', 'test2')
Run Code Online (Sandbox Code Playgroud)
并根据数组中指定的值过滤$displayObjects(Tags.name)$filter.
因此在上面的情况下,结果应该只包含第2行和第3行(来自$displayObjects).
我已经坚持思考和测试$displayObjects | Where-Object ...但却想不出如何在那里循环.有什么建议?