2016-10-29 3 views
0

は私のコーヒースクリプトのリターンを生成し、生成しました私は返品のないソリューションを望んでいます:は、私は、自動を取り除くことができますどのようにコーヒースクリプトに戻っ

createHash = function(password) { 
    bcrypt.genSalt(10, function(err, salt) { 
    bcrypt.hash(password, salt, function(err, hash) { 
     return hash; 
    }); 
    }); 
}; 

私はこれをどうやってやっていますか?デフォルトでは

+0

重複:http://stackoverflow.com/q/7391493/660921 – Carpetsmoker

答えて

0

、CoffeeScriptの機能は、このように、彼らの最後の式の値を返す:

f = -> 
    # Bunch of interesting things... 
    return 6 

ので、transpiled JavaScriptで登場return S:

f = -> 
    # Bunch of interesting things... 
    6 

は同等です。明示的なreturnなしのJavaScript関数で

は、暗黙的にundefinedを返しますので、これらは同じものを返す:一緒に、これらの二つのものを置く

function() { } 
function() { return } 
function() { return undefined } 

には二つの選択肢があります:

  1. undefinedを投げ暗黙的なreturnを明示的にバイパスする関数の最後に:

    createHash = (password) -> 
        bcrypt.genSalt 10, (err, salt) -> 
        bcrypt.hash password, salt, (err, hash) -> 
         hash 
        undefined 
        undefined 
    
  2. 以上、明示的に空returnでは何も返さないしていることを示している:

    var createHash; 
    createHash = function(password) { 
        bcrypt.genSalt(10, function(err, salt) { 
        bcrypt.hash(password, salt, function(err, hash) { 
         return hash; 
        }); 
        }); 
    }; 
    

    createHash = (password) -> 
        bcrypt.genSalt 10, (err, salt) -> 
        bcrypt.hash password, salt, (err, hash) -> 
         hash 
        return 
        return 
    

2番目のオプションは、あなたが探している正確にはJavaScriptを与える必要があります

+0

このように動作していただきありがとうございます! – Timo

関連する問題