次のコードが与えられます:
function two() {
return "success";
}
function one() {
two();
return "fail";
}
関数one()を呼び出してコードをテストすると、常に「失敗」します。
問題は、関数two()を呼び出すだけで、関数one()で「成功」を返すにはどうすればよいかということです。
それも可能ですか?
よろしく
次のコードが与えられます:
function two() {
return "success";
}
function one() {
two();
return "fail";
}
関数one()を呼び出してコードをテストすると、常に「失敗」します。
問題は、関数two()を呼び出すだけで、関数one()で「成功」を返すにはどうすればよいかということです。
それも可能ですか?
よろしく
function one() {
return two();
}
Javascript(または他の多くの言語、afaik)で関数を呼び出した関数から関数を返すことはできません。それを行うには、one()にロジックが必要です。例えば:
function one() {
return two() || "fail";
}
関数1が非ローカルリターンの可能性を予測し、関数2が例外を使用してこのようになっている場合は、try-catchブロックを使用してこれを行うことができます。
function two() {
throw {isReturn : true, returnValue : "success"}
}
function one () {
try {
two()
} catch(e) {
if(e.isReturn) return e.returnValue;
}
return "fail";
}
、 私は信じている。
function one() {
return two();
}