私はnode.jsのexpressを使用してAPiで作業しています。Expressで同じコントローラの別のアクションから1つのアクションを呼び出す方法は?
のcontroler:
/**
* @module QuestionController
*/
//1st Action
exports.videoUploaded = function(req,res)
{
// myCode();
}
//2nd Action
exports.transcribe = function(req, res)
{
var id = req.params.question_id;
// myCode();
}
ルート:
var questionController = require('./../controllers/question');
var apiRouter = express.Router();
apiRouter.route('/questions/:question_id/video_uploaded')
.post(Auth.roleAtLeastPatient,questionController.videoUploaded);
apiRouter.route('/questions/:question_id/transcribe')
.post(Auth.roleAtLeastPatient,questionController.transcribe);
私のサーバーファイル:
var app = require('./srv/express-app');
var webserver = http.createServer(app);
すべてが正常に動作します、私は、ブラウザからこれらのエンドポイントを呼び出すことができますPオストマン。しかし、どうすればtranscribe
のアクションをvideoUploaded
アクションから呼び出すことができますが、req
パラメータも送信します。あなたのケースで何が起こるそれを
import funcs from 'Questions';
apiRouter.route('/questions/:question_id/video_uploaded')
.post(Auth.roleAtLeastPatient, funcs.videoUploaded);
を使用する方法
//1st Action
videoUploaded(req,res){
// myCode();
}
//2nd Action
transcribe(req, res) {
// myCode();
videoUploaded(...);
}
exports default {
videoUploaded,
transcribe,
};
をエクスポートする方法
**コントローラーで:
し、それを使用する:
より良いsoluceは次のように、ES6クラスを使用することですあなたは 'videoUploaded'関数の中から呼び出すことができますし、次に' module.exports = {videoUploaded: "videoUploaded_function"、transcribe: "transcribe_function"} ' – ArchNoob
@ArchNoobという名前で、あまりにも。 – mega6382
私はまだ名前付き関数から呼び出すことができ、別々のエクスポートを行うことができると思います。 ああ、すでに私の要点を支持する答えがあります! – ArchNoob