Node.js回调和递归



我不明白如何在node.js中递归地调用函数,例如:

var releaseStock = function (callback) {
  getItems(function (err, items) {
    if (err) {
      return callback(err);
    } else {
      if (items) {
        return callback(items);
      } else {
        setTimeout(function() {
          releaseStock(callback);
        }, 5000); 
      }
    }
  });
};

我怎样才能使它工作?

我不完全确定您想要做什么,但我怀疑它是沿着以下路线:

var releaseStock = function(callback) {
  // get items from somewhere:
  var items = getItems();
  if (!items) {
    // if there are no items, try again (recurse!):
    return releaseStock(callback);
  }
  // if there are items, give them to the callback function:
  return callback(items);
};

最新更新