国产探花免费观看_亚洲丰满少妇自慰呻吟_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() {

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 郴州市| 迭部县| 黄大仙区| 宣化县| 韶关市| 北票市| 修武县| 贵定县| 三都| 黑山县| 方正县| 广南县| 定西市| 长顺县| 乌鲁木齐县| 张家口市| 舒城县| 前郭尔| 莲花县| 屯门区| 阿鲁科尔沁旗| 靖江市| 府谷县| 睢宁县| 垫江县| 吴堡县| 南木林县| 邵武市| 封开县| 南华县| 上栗县| 嘉定区| 穆棱市| 保德县| 杭州市| 普陀区| 建瓯市| 永吉县| 兴国县| 霸州市| 昔阳县|