2016-01-25 24 views
0

我使用Node/JavaScript從磁盤讀取映像文件,並通過編碼爲base64的套接字傳遞該文件。代碼是堅實的(雖然我相信你們中的一些人會提供更好的編碼方式:)),但是我遇到的問題似乎與在文件被完全讀取(有時)之前執行的回調有關。Javascript/NodeJs - fs.readFile在讀取文件之前使用回調

我可以找一個typeof === 'undefined'陷阱的錯誤,但我不是100%我能做些什麼,一旦這已經拋出

watcher.on('create', function callBack(file){ 
    return readFile(file); 
}); 

function readFile(file){ 
    console.log(file); 
    fs.readFile(file, function(err, data){ 
     if(err){ 
      console.log(err); 
      throw err}; 

       io.emit('image', {image: true, buffer: data.toString('base64') }); 

    }); 

} 

收到的錯誤是

​​

有反正等待/暫停異步操作,直到文件被完全讀取?

+0

你的代碼看起來不錯。文件是否被某個其他進程同時使用? – Rayon

回答

0

如果您仔細閱讀manual,只有在讀取文件時纔會看到callback調用。在你的罐頭錯誤說'你的文件已經很忙'。

相關問題