[英]Weird behavior in Node REPL when pasting text (Windows OS) - Crashes
如果這已經發布,我很抱歉,但我不知道如何搜索我正在經歷的事情。 這可能是 Windows 操作系統特定的,我不知道。
我使用 VS 代碼作為我的 IDE 並在測試節點代碼時打開集成終端並從那里運行節點。 然后我復制並粘貼了很多我的代碼以逐行運行它們並進行測試等。我注意到有時粘貼時它會完全鎖定節點。 經過長時間的艱苦努力,我終於發現只有在復制和粘貼大量文本時才會發生這種情況。 IE 我可以突出顯示我的整個代碼,復制和粘貼,它會鎖定節點。 但是,如果我嘗試只復制一半並執行它,然后再復制另一半並執行它,它會起作用。
我認為這是與 VS 代碼相關的,直到最近我直接在 VS 代碼之外的節點 REPL 中完成了它,它也在那里崩潰了。
有沒有其他人經歷過這個? 我做了一個谷歌,發現了一些很久以前報告的錯誤,類似於我正在經歷的錯誤,但它們應該被修復。
更奇怪的是,有時我可以在某些條件下執行大量文本。 如果我先小批量復制和粘貼似乎可以工作,即將代碼分成 3 個部分並單獨執行它們,然后如果我現在 go 回來並突出顯示它並復制和粘貼,它執行得很好。 但是后來我加載了一個新節點,再次復制並粘貼所有代碼,但它失敗了。 不太清楚發生了什么。
編輯:這是下面的代碼。 如果你打開節點 REPL 並粘貼它,它將在第一行凍結(所以不要擔心需要找不到模塊)。 筆記; 代碼已更改為取出 IP 所以如果執行它會出錯,因為我只是用隨機文本替換了一些關鍵字。 忽略這一點,它的目的是表明它不會復制和粘貼超過第一行,它會凍結。 任何幫助表示贊賞!
//{"_id":"56aba3108d6d183da42403c2"}
//placeholder
const request = require('request');
var mongoose = require ("mongoose");
var lodash = require ("lodash");
var myFuncs = require("./functions");
var item_urls;
var options = {
json: true
};
var test = [] ;
function updateDB (){
var url = "get stuff";
request(url, options, (error, res, body) =>{
if (error) {
return console.log(error)
};
if (!error && res.statusCode == 200) {
console.log("executing cb1");
item_urls = body.payload.items;
myFuncs.fixItemIDs (item_urls);
var primes = item_urls.filter(item => item.item_name.includes("Strun Wraith Set"));
for (item in primes)
{
let url = `https://get more stuff/v1/items/${primes[item].url_name}`;
// console.log (url);
request(url, options, (error, res, body) =>{
if (error) {
return console.log(error)
};
if (!error && res.statusCode == 200) {
console.log(`Getting item ${url}`);
test.push(body.payload.item);
myFuncs.fixItemIDs (test);
}
});
};
console.log ("done");
};
});
}
updateDB();
我將其記錄為 Github 上的錯誤,其他人測試並重現了該問題。 現在這是他們將要調查的一個已確認的錯誤。 它甚至出現在 beta/最新版本中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.