Warum erhalte ich einen Segmentation fault Node.js?

Habe ich diese Funktion hier:

function createInsta(email, userid) {
  if (!fs.existsSync('users/' + email + '/' + userid)) {
    fs.mkdir('users/' + email + '/' + userid)
    fs.writeFileSync(('users/' + email + '/' + userid +  '/instagram.json'), fs.readFileSync("data/data.json", "utf-8"))
    console.log("insta folder created");
  }
  console.log("Initializing Data")
  var data = fs.readFileSync('users/' + email + '/' + userid +  '/instagram.json', "utf-8")
  data = JSON.parse(data);
  var result;
  request(("https://instagram.com/" + userid + "/?__a=1"), function(error, response, body) {
    var res = JSON.parse(body);
    result = res.user.followed_by.count
    if (error) {
      console.log(err)
    }
  })
  while (result === undefined) {
    deasync.sleep(100)
  }
  data.STARTING_COUNTS[0].DAY = result;
  data.STARTING_COUNTS[0].WEEK = result;
  data.STARTING_COUNTS[0].MONTH = result;

}

Recht, nachdem die Konsole druckt outs Initializing Data, die Konsole sagt Segmentation fault

Ich habe keine Ahnung, warum das so ist, mein code scheint nicht, wie alles könnte dazu führen, dass solche ein Fehler.

Irgendwelche Hinweise? Dank

  • "Irgendwelche Hinweise" - Wortspiel?
  • Ich weiß nicht, wie die Aussehen -> while (result === undefined) {deasync.sleep(100) } Und warum ist Sie nötig?
  • Ich habe es als einfaches und schnelles hack um das asynchrone Modell von nodejs für diese Funktion, Ive verwendet es in anderen Funktionen kein problem, ich bezweifle, dass Ihr die Ursache für den segmentation Fault
  • Nicht wenn ich zuerst dieses geschrieben, aber das ist ziemlich witzig haha
  • Ich würde sagen, es ist der wahrscheinlichste Kandidat für die seg-fault. github.com/abbr/deasync/issues/48 In der Theorie, es sollte unmöglich sein, um einen seg fault mit node.js in reiner form, als javascript innerhalb einer sandbox, aber Ihre deasync ist eine c++ - hack, dass kann sicherlich seg fault. Node.Js ist von Grund auf konzipiert werden, async, versucht zu zwingen, in der sync-Modus ist nur ärger,..
  • Okay, ich werde schauen, in das versuchen, zu machen es zu arbeiten, ohne deasync, danke
  • Kein problem, Sie brauchen jede Hilfe, die Umgestaltung zu werden, async, Fragen Sie sich. Ich kam aus Delphi, C# und immer meinen Kopf um die asynchrone Natur von javascript hat einige Zeit gedauert. Aber es zahlt sich aus am Ende, mit Versprechungen kann sicherlich helfen. Und neue features wie erwarten, sind die Dinge noch einfacher.
  • Lassen Sie uns weiter, diese Diskussion im chat.

InformationsquelleAutor Vikaton | 2016-10-18
Schreibe einen Kommentar