2017-10-01 2 views
0

J'ai REST-endpoint fait avec node-red qui effectue certaines tâches asynchrones, par exemple odbc-query à la base de données.nœud-rouge attente d'une requête asynchrone pour la réponse http

Lorsque je suis la requête résultante à la réponse http. C'est juste sur le navigateur. On dirait que j'ai besoin d'un objet req et res pour la réponse http. Mais comment je le fais?

Voici le flux:

[{"id":"a35e6901.509a1","type":"http in","z":"ec714e97.d73b58","name":"","url":"/get","method":"get","upload":false,"swaggerDoc":"","x":287.8571472167969,"y":1660.357177734375,"wires":[["7c116e0a.f8d67"]]},{"id":"98e22918.79bc4","type":"sqldbs","z":"ec714e97.d73b58","mydb":"8df7f8b0.bd44c","querytype":"select","name":"","x":723.5714111328125,"y":1644.6428833007812,"wires":[["de837ef9.5c1cf8"]]},{"id":"7c116e0a.f8d67","type":"function","z":"ec714e97.d73b58","name":"","func":"msq.topic = \"Select * from User\"\nreturn msg;","outputs":1,"noerr":0,"x":469.28570556640625,"y":1613.9286499023438,"wires":[["98e22918.79bc4"]]},{"id":"de837ef9.5c1cf8","type":"http response","z":"ec714e97.d73b58","name":"","statusCode":"","headers":{},"x":922.1428833007812,"y":1677.8570861816406,"wires":[]},{"id":"8df7f8b0.bd44c","type":"sqldbsdatabase","z":"","host":"127.0.0.1","port":"1433","db":"test","dialect":"mysql"}] 

Répondre

0

Vous devez vous assurer que c'est le même objet de message qui circule à partir du nœud http-in tout le chemin vers le nœud http-out.

Cet objet message aura des champs de msg.req et msg.res et le champ msg.res sera utilisé par le noeud http-out pour envoyer la réponse au navigateur.

Tout noeud qui prend une entrée et la transmet ensuite doit conserver ces champs et pas seulement créer un nouvel objet pour la sortie. Tous les nœuds intégrés le font correctement et comme tous les nœuds tiers publiés. Si vous en trouvez un qui ne suit pas ce modèle, vous devriez soulever un bug avec le mainteneur.

Votre flux semble correct, mais je n'ai jamais utilisé les nœuds DB que vous avez, donc je ne peux pas les commenter.