5つの関数の中から、関数を実行するケースに基づいています。その関数の戻り値を取って、それを使って1つの余分な関数を実行します(それぞれの場合に同じです)。すべての値を実行するJavascriptオブジェクトのリテラル表記
私のすべての関数は同期しています。
var x = require('./file2.js')
export default (metadata) => {
return (req, next) => {
var fn = new x (req, next, metadata)
var metric = (req.body.metric)
var choices = {
"1": fn.one(),
"2": fn.one(),
"3": fn.one(),
"4": fn.one(),
"5": fn.two(),
"6": fn.three(),
"7": fn.four(),
"8": fn.five()
};
var jql = choices[metric]// When I put console.log's in all the function (one through five) they all print out.
file2.js:
var x = function (req, next, metadata) {
this.req = req;
this.next = next;
this.start = metadata.body.start;
}
x.prototype.one = function(){
var jql = ['test',
'AND ' + this.start].join("\n")
return jql
}
module.exports = x;
をあなたは、xが定義されていることを確認していますか?すなわち、正しいファイルが必要でしたか? console.log(x)を実行して何が起こるかを見てください。 –
'fn.1'は有効な構文ではありません。プロパティ識別子の構文は数字で始まらないことがあります。 –
私は機能を単純化しようとすることによって混乱しました。 fn.1()は実際にはjiraCall.getLeakage() –