不能在嵌套函数中访问'this'

这个问题在这里已经有了答案:

  • 如何在回调中访问正确的`this`? 6个答案
  • 嵌套函数中的Javascript“this”指针7个答案

  • 您在getTransactionsgetCompanies中的AJAX回调函数中失去了上下文。 尝试这个:

    Rank.prototype.getTransactions = function(callback) {
        Transaction.find({}, function(err, transactions) {
            //blah blah blah
            this.transaction = transactions;
            callback();
        }.bind(this));
    };
    
    Rank.prototype.getCompanies = function(callback) {
        Company.find({}, function(err, comps) {
            //blah blah blah
            this.transaction = comps;
            callback();
        }.bind(this));
    };
    

    当在嵌套函数调用中使用时, this不再引用对象,因为该函数没有父对象。 如果分配this一个变量如var self = this ,你可以像正常的内部嵌套函数调用访问它。

    链接地址: http://www.djcxy.com/p/94895.html

    上一篇: cannot access 'this' in nested function

    下一篇: Using node.js as a simple web server