7
nodo v4.2.6timer._repeat non è una funzione?
Ho un piccolo programma:
var chokidar = require('chokidar');
var _ = require('lodash');
var q = require('q');
var fs = require('fs');
var faker = require('faker');
var file = 'testfile.txt';
var pending = '';
var writer;
fs.open(file,'w+',function(){
writer = fs.createWriteStream(file);
writer.on('error',function(err){
console.log(err);
});
writer.on('drain',rewrite);
var timer = setInterval(write(),100);
});
function write(){
var data = faker.Helpers.createCard();
console.log('attempting to write ' + Buffer.byteLength(data,'utf8') + ' bytes');
var ok = writer.write(data.toString());
if(!ok){
console.log('buffer full, saving in memory');
pending += data;
}else{
console.log('written');
}
}
function rewrite(){
console.log('buffer empty, writing ' + Buffer.byteLength(data,'utf8') + ' bytes from memory');
var ok = writer.write(pending);
if(!ok){
console.log('buffer full again. Saving in memory again');
pending += data;
}
}
Dopo che scrive i primi byte al file, esso errori fuori con:
timers.js:275
timer._repeat();
^
TypeError: timer._repeat is not a function
at wrapper [as _onTimeout] (timers.js:275:11)
at Timer.listOnTimeout (timers.js:92:15)
cosa sta andando male e come posso correggerlo?
Si dovrebbe passare 'write' not' write()' a 'setInterval()'. Questo non è il problema immediato; che cos'è "timers.js"? – Pointy
@Pointy oh si. Buon posto – Houseman