2016-08-18 10 views
0

node.jsを使用していますが、特定の関数のオプションとしてコールバックを設定するにはどうすればよいですか?例えばnode.jsのオプションとしてのコールバック

function sum(a, b, callback) { 
     return callback(a+b) 
    } 

    var result = sum(a,b) // this seems to cause error: callback is not a function 

    sum(a, b, function(sum) { 
     // this works fine 
    }) 

は、上記の両方(と、コールバックなし)を動作させるためにどのような方法がありますか?

ありがとうございます!

答えて

2

callback引数が関数であることを確認してください。

+0

ありがとう!私はこの関数や何かをオーバーロードする必要があると思った... C++に影響を受けすぎている – zhouchengkho

-2

こんにちはあなたにも言及されている

function sum(a, b, callback) { 
    if(typeof callback === 'function'){ 
     return callback(a+b) 
    } 
    else { 
     return a+b; 
    } 
} 

以下のようにあなたのコードを持つことができ

function sum(a, b, callback) { 
    if(typeof callback === 'function'){ 
     return callback(a+b) 
    } 
    else { 
     return a+b; 
    } 
} 

Demo JSFiddle):

if(typeof callback === 'function'){ 
    return callback(a+b); 
} 

このように、あなたのsum関数は次のように記述することができます上の投稿で

関連する問題