2016-06-07 8 views
3

Ich versuche, einige Knoten Skript mit co. Es funktioniert gut, aber eine große Verzögerung, bevor das Skript beendet ist. (Ich habe nach einer Sekunde "Ok" oder "Schlecht", aber das Skript endet 7 Sekunden später). Was ich vermisst habe?Verzögerung vor co() fertig

co(function *() { 
    let errors = yield someCheck(process.argv); 
    if (!errors) { 
     console.log('Ok'); 
    } else { 
     console.log('Bad'); 
    } 

})(function(e) { 

    if (e) { 
     console.log(e); 
    } 
}); 
+0

Dieser Code würde nur mit "Co" Version <4.0 funktionieren – yevhene

Antwort

0

Ich bekomme einen TypeError, wenn ich Ihren Code ausführen. Ich bin mir nicht sicher, was Sie dort versuchen, aber ich denke, Sie können den Fehlerhandler nicht als zweites Argument übergeben, wenn Sie co() aufrufen, Sie müssen then() oder catch() für die Fehlerbehandlung verwenden.

0

Ich denke, process.exit() würde Ihr Problem beheben.

Verwandte Themen