,

NodeJS: async.queue zeigt standardmäßig keine Fehlermeldungen an

logan-weaver-lgnwvr-x09LWB0Axnk-unsplash

Derzeit erstelle ich einen benutzerdefinierten Web-Crawler und die einfachste Methode zur Implementierung von parallelen Funktionen ist die Verwendung des npm-Pakets „async“.

Während des Programmierens stieß ich auf das Problem, dass das Programm nicht richtig funktionierte, aber das Terminal keine Fehler anzeigte.

Also habe ich die Warteschlangenfunktion außerhalb von async getestet und sie hat wie erwartet einen Fehler angezeigt. Was war hier los?

Es stellte sich heraus, dass async.queue standardmäßig Fehler abfängt und dass man sie explizit behandeln muss. Dies kann durch Hinzufügen eines Fehler-Callbacks zur Warteschlange erfolgen:

var q = async.queue(function(task, callback) {
    console.log('hello ' + task.name);
    callback();
}, 2);

q.error(function(err, task) {
    console.error('task experienced an error');
});

Derzeit ist dies nicht sehr hilfreich, aber natürlich können Sie den Fehler leicht anzeigen:

q.error(function(err, task) {
    console.error(`Async error: ${err}`);
});

Da haben wir es:

Async error: ReferenceError: xxx is not defined


(Photo by LOGAN WEAVER | @LGNWVR on Unsplash)

Comments

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Your post must include a link to this post.

How does this work?
Write a response on your own website and include a link to this post. Then submit your response’s URL here. Your response may appear here after moderation. To update or remove it, edit or delete your original post and submit the same URL again. Learn more about Webmentions.