私はそのような単純な機能を持っているとしましょう:
foo ->
User.findById someId, (err, user) ->
return "hello #{user.name}"
coffeescriptはそれを次のように翻訳します。
foo(function() {
return User.findById(someId, function(err, user) {
return "hello " + user.name;
});
});
何らかの理由でここに2つのリターンがありますが、コールバックの後に「こんにちは」を返したいだけです。
関数を使用するときに関数を返さないことがわかった唯一の方法は、関数を a で閉じることですreturn
(これは奇妙な回避策です)。それで:
foo ->
User.findById someId, (err, user) ->
return "hello #{user.name}"
return
に変換されます:
foo(function() {
User.findById(someId, function(err, user) {
return "hello " + user.name;
});
});
return
キーで関数を閉じる以外に、それを行うためのより良い方法はありますか?