Articles of callback

node.js callback étant appelé plusieurs fois

Je viens de commencer à jouer avec node.js et les liaisons zeromq aujourd’hui et je constate un comportement que je ne comprends pas très bien. Voici mon exemple de code qui appelle un autre processus zeromq REP basé sur Ruby sur le port 9000 de la même machine: var zeromq = require(“zmq”); var http = […]

Comprendre les rappels

Je crée un petit script pour mieux comprendre le rappel. D’après le script ci-dessous, le comportement que j’attendais était le suivant: “http.get s’exécute et prend en moyenne 200 ms. L’incrémentation de la boucle for” i “prend en moyenne 2500 ms. À 200 ms, le processus doit se terminer et le script doit s’interrompre Si je […]

Les descripteurs de sockets continuent à augmenter lorsque le rappel est appelé depuis un bloc d’erreur

J’exécute le code suivant var pg = require(‘pg’).native; async.waterfall([ function (callback) { //some code }, function (result,callback) { logger.debug(‘Async waterfall 2: Querying events.’); try { callingFirstEvent(queryMode, request, foundEvents, callback); } catch(ex) { logger.error(‘callingFirstEvent::Error occurred in async waterfall 2: ‘ + ex.message); } }, function (result, callback) { //some code }, ], function (err, res) { […]

Fonction se comportant de manière asynchrone même après une fonction de rappel dans Node.js

J’essaie de créer un explorateur de fichiers en utilisant le module ‘fs‘ de Node.js. J’ai écrit la fonction suivante qui prend un chemin et stocke le contenu de ce chemin (fichiers / dossiers) dans un tableau et le renvoie simplement à l’aide du rappel. listDir: function (path, myCallback) { var resultObj = []; fs.readdir(path, function […]

Rappel de Kue lorsque le travail est terminé

Mon instance de nœud principale crée un processus de travail acceptant les messages via IPC (à l’aide des nœuds intégrés process.send() et process.on(‘message’… ), objects contenant des informations sur les nouveaux travaux à append à Kue. Il traite ensuite ces travaux. Mon instance de nœud principale appelle quelque chose comme ceci: worker.send({jobType:’filesystem’, operation: ‘delete’, path: […]

Comment arrêtez-vous une fonction lorsqu’un object Error est reçu?

Comment puis-je arrêter la fonction au moment où une erreur s’est produite. Je passe un appel post http. J’ai construit une fonction de rappel de style d’erreur en premier. Comment puis-je arrêter la fonction de rappel si un object Error y est passé? Dans mon cas d’utilisation, je dois arrêter quel que soit le type […]

Javascript: retourne une valeur à une variable en dehors d’une fonction de rappel

J’ai une question très précise et j’espère que quelqu’un pourra me donner un coup de main ici. Je suis assez vert quand il s’agit de Javascript beaucoup plus que quand il s’agit de NodeJS. J’utilise la fonctionnalité lodash de _.forIn pour parcourir et append un object situé dans un tableau. Le tout ressemble à ceci: […]

Comment convertir la méthode Waterfall en promesse

Vous trouverez ci-dessous un extrait de code utilisant la méthode async-waterfall. Comment puis-je convertir cela en utilisant la promesse. async.waterfall([ function(callback){ User.update({username: user.username}, {$set: update_list}, function(err, a_user) { if (err) { err = new Error(); err.code = 400; err.message = “Unexpected error occurred.” callback(err) } if (!a_user) { err = new Error(); err.code = 400; […]

comment déterminer les informations source du rappel dans la v8

Est-il possible de déterminer les informations source (fichier, numéro de ligne, numéro de colonne) d’un rappel dans la v8? function foo(callback) { var x = callback(); if (typeof x !== “ssortingng”) { //hmmm, x is not as expected, I want to know more about the callback. } }

Redirection après publication dans nodejs Erreur ‘Impossible de définir les en-têtes après leur envoi’

Redirection après publication dans nodejs Erreur ‘Impossible de définir les en-têtes après leur envoi’ Voici du code router.post(‘/newItem’, function (req, res, next) { product.insertItem(req.body, req.files, function (err ,result) { if (err) throw err; res.redirect(307, ‘/home’); }); }); C’est la fonction module insertItem module.exports.insertItem = function (doc, file, callback) { mongo.item.insert(data, function (err, result) { if […]