0

メッセージhjasが送信されたかどうかをチェックするモジュールにIDを送信しています。それが送信されていない後、私はメッセージを送信しています:

 var l = require('./control.js')
 sonuc = l.check(id);

そして私のモジュールは

 exports.check = function(id, callback){
        try{
          client.query("SELECT req FROM messages where req = 0 and id = "+id,
          function (err, results, fields) {
            if (results.length > 0){
                callback(false);
                }else{
                callback(true);
                }
         });
         callback();
  }catch(err){
    console.log(err);
  }  
  } 

しかし、失敗して未定義の変数を返しています。

4

1 に答える 1

2

return非同期関数からの ing は何の意味もありません。コールバックを使用するポイントは、後で値を取得できるようにすることです。

var l = require('./control.js')
l.check(id, function(sonuc) {
  // Here the value of sonuc is set.
});

このスクリーンキャストに興味があるかもしれません。このスクリーンキャストでは、このトピックについてもう少し詳しく説明しています。

于 2012-10-04T07:53:58.513 に答える