私はコードをモジュール化し、エクスプレスルータからコントローラロジックを含む外部モジュールへの関数呼び出しを利用しようとしています。要求を処理した後、どのように変数をルータに返すのでしょうか?あなたのケースの非同期機能でExpressルータとコントローラロジック間で変数を渡す
const express = require('express') ;
const router = express.Router();
const bodyParser = require('body-parser')
const requestSomething = require('./controller/abc.js');
router.post('/', function (req,res, next){
requestSomething() <----// Need Variable from this
next()
},function(req,res,next){
sendOrder(X) <--------//So I can use it further along in chain
}
);
module.exports = router;
//Controller logic, how to send body back to router??
const requestSomething = (req,res,next)=>{
let options = { .... };
requestSomething(options, function (error, response, body) {
if (error) throw new Error(error);
let x = JSON.parse(body); <--- How do I pass this back to router?
})
}
}
は、私がしようとしている応答をありがとう(あなたのコントローラーを言うことができます)あなたはミドルウェア部にこの
ような何かを書くことをしたファイルあなたserver.jsに言うことができますそれを動作させるにはエラーが発生しています。 requestSomething()で未定義のプロパティ 'then'を読み取ることはできません。しかし、関数呼び出しが発生します。 –
requestSomething()APIコールですか? –
はい、APIコールです。 –