国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

記錄幾個node.js!錯誤及解決方案

2019-11-02 15:43:58
字體:
來源:轉載
供稿:網友

 幾個node.js錯誤及解決辦法整理如下

node.js Error: EBADF, write

最近工作寫了個小項目,本以為能好好喝下茶,可是讓人想掀桌的報錯出現了。

fs.js:77
      throw err;  // Forgot a callback but don't know where? Use NODE_DEBUG=fs
            ^
Error: EBADF, write
    at Error (native)

WTF?! fs.js: 77? 這是要我去看內核源代碼?好在項目還不大,拆拆更健康?;税胩斓臅r間之后大概是清楚了。

首先是 Error 的名字 EBADF 其意義是 bad file descriptor 錯誤的文件描述符。
而 Error: EBADF, write 表示往錯誤的文件描述符里面寫數據了。

出現這個BUG的場景簡而言之,是有一個 .on('data') 事件拿到數據往 fd 里面寫,這個時候某個操作拋了 error 我在處理error 的時候 close 了這個 fd,而另外一邊去還在觸發 data 事件想往這個(已經被我 close 的)fd里面寫數據。如下:

// ...
 
var fd = fs.openSync(path, 'w');
 
test.on('data', function(data) {
    fs.write(fd, data);
});
 
test.on('end', function() {
    fs.close(fd);
});
 
// 在 end 之前 close 就會出現 Error: EBADF, write
setTimeout(function() {

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 霍林郭勒市| 驻马店市| 锡林郭勒盟| 高碑店市| 绥宁县| 霍林郭勒市| 梓潼县| 信宜市| 柏乡县| 巫山县| 治县。| 泰宁县| 邳州市| 塔河县| 武乡县| 吉安市| 鹿邑县| 泗阳县| 江津市| 东丽区| 屯昌县| 花莲市| 扶沟县| 张掖市| 奉新县| 合山市| 昭平县| 平江县| 伊川县| 绵竹市| 武乡县| 大姚县| 温宿县| 拉孜县| 茌平县| 阳高县| 昌邑市| 沾益县| 六盘水市| 桦川县| 密云县|