0

ここのどこかにコールバックがないと確信しています:

tools.js から:

exports.getServerPermalink = function(username, callback) {
requestURL = config.apiServer+ username + myUrl
request(requestURL, function (error, response, body) {
  if (!error && response.statusCode == 200) {
    list = JSON.parse(response.body);
    console.log(list);
    newPermalink = list[0].permalink;
  } else {
    console.log(error);
  }
  callback(null, newPermalink);
  });
}

それはここで呼ばれます、私のメインファイル(tools.jsが含まれています):

newPermalink = tools.getServerPermalink(checkSession.username);
res.redirect('/'+ newPermalink) ;   

しかし、「未定義は関数ではありません」というエラーが表示されます

      callback(null, newPermalink);

実行しようとすると。

console.log だけではない「require」モジュールの例へのポインタは大歓迎です。

4

2 に答える 2

3

callbackモジュールメソッドに渡さなかったため、未定義のようです

次のようになります。

tools.getServerPermalink(checkSession.username, function(argument, newPermalink){
    res.redirect('/'+ newPermalink) ;
});

またtools.getServerPermalink()、URL を直接返すのではなく (内部要求は非同期であるため、何も返しません)、2 番目の引数としてコールバック関数に渡します。

于 2013-08-10T23:16:25.530 に答える
0

exports.getServerPermalink は、2 つの引数を取るように定義された関数ですが、それを呼び出すと、1 つだけを渡します。

于 2013-08-10T23:16:40.603 に答える