0

このネストされた関数内から itemInfo[0] の値を返そうとしています。コールバックでこの値を返す方法を誰か助けてもらえますか?

function findItem(item) {

  var itemInfo = [];

  Item.findItem(item, function(err, itemInfo){
    itemInfo[0].info = _.unescape(itemInfo[0].info);
    itemInfo[0].title = _.unescape(itemInfo[0].title);
    // console.log(itemInfo[0]);
    return itemInfo[0];
  });

};
4

2 に答える 2

4

使用後に cb 引数を null に設定し、呼び出す前にその有効性を確認してください。

関数 findItem(item, cb) {

  var itemInfo = [];

  Item.findItem(item, function(err, itemInfo){
    もし (cb) {
        itemInfo[0].info = _.unescape(itemInfo[0].info);
        itemInfo[0].title = _.unescape(itemInfo[0].title);
        // console.log(itemInfo[0]);
        cb( itemInfo[0] );
        cb = null;
    }
  });

};
于 2013-11-12T03:27:58.777 に答える
-3

戻り値を返すとどうなりますか?

function findItem(item) {

     var itemInfo = [];

     return Item.findItem(item, function(err, itemInfo){
        itemInfo[0].info = _.unescape(itemInfo[0].info);
        itemInfo[0].title = _.unescape(itemInfo[0].title);
        // console.log(itemInfo[0]);
        return itemInfo[0];
     });

 };
于 2013-11-12T03:28:37.543 に答える