2016-10-26 9 views
-1

オブジェクトの結果を関数に戻す方法を理解できません。私はコールバックをしようとしていますが、動作していません。私は間違って何をしていますか?誰かが子関数から親関数に変数を渡す方法を知っていますか? 私もそうすることはできません。Node.jsエラーの取得TypeError:コールバックは関数ではありません

findOrCreate(fb_response, function(error, result) { 
 
    if (error) { 
 
     res.serverError(error); 
 
    } 
 

 
    return res.send(result); 
 
}); 
 

 
// If no user create new user 
 
function findOrCreate(fb_response, callback) { 
 
    Users.findOne({ 
 
     email: fb_response.email 
 
    }).exec(function(error, result) { 
 
     if (error) { 
 
      return callback(error, null); 
 
     } 
 
     // if user does not exist 
 
     else if (!result) { 
 
      //create a new user 
 
      createUser(fb_response, function(error, result) { 
 
       if (error) { 
 
        return callback(error, null); 
 
       } 
 
       // re-start the find or create function \t 
 
       return findOrCreate(fb_response, null); 
 
      }); // end of create new user function. 
 

 
     } // end of - else if (!record) \t 
 
     else if (result) { 
 
      return callback(null, result) // this is the part that I am getting wrong 
 
     } 
 
    }); 
 
}

+2

質問をしていたときに、テキストエリアの右側に大きなオレンジ色**の書式設定**ボックスが表示され、そこに役立つ情報が表示されました。また、書式設定支援ツールバー全体がありました。 ** [?] **ボタンを押すと書式設定のヘルプが表示されます。 *また、テキストエリアと投稿の質問ボタンの間にあるプレビューエリア(ボタンを見つけるために過去にスクロールする必要があるため、あなたがそれを見てみることを推奨します) 。あなたの投稿をはっきりさせ、時間を割いていることを実証することで、良い答えを得る機会が増えます。 –

答えて

1

あなたはヌルとしてコールにコールバック関数を渡すと、それを実行する際に、それは非nullにするためにチェックしたことがないような問題は、あなたの

return findOrCreate(fb_response, null); 

で主です。

return findOrCreate(fb_response, callback); 
関連する問題