JavaScript обратный вызов с nano и now.js - PullRequest
0 голосов
/ 04 ноября 2011
everyone.now.getGuess = function(val) {
  db.view('lists', 'project_names', {
      startkey: val,
      endkey: val + "\u9999"
    }, function(_, data) {
    return data.rows.map(function(obj) {
      return obj['key'];
    });
  });

  return this.now.receiveGuess(guesses[0]);
};

db является объектом nano .db.view ничего не возвращает и предлагает только обратный вызов, поэтому guesses = db.view () не работает.И в рамках обратного вызова db.view () я не могу получить доступ к этому для now.js .

Как я могу решить это?

1 Ответ

3 голосов
/ 04 ноября 2011

Вы можете использовать шаблон var self = this;:

function a() {
    var self = this;
    foo(function(err, data) {
        /* use "self" instead of "this" here */
    });
}
...