【问题标题】:Meteor: RangeError: Maximum call stack size exceeded流星:RangeError:超出最大调用堆栈大小
【发布时间】:2014-12-10 12:52:43
【问题描述】:

我收到以下错误

W20141210-18:14:54.394(5.5)? (STDERR) 
W20141210-18:14:54.395(5.5)? (STDERR) /Users/removed/.meteor/packages/meteor-tool/.1.0.36.1phxfod++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/dev_bundle/lib/node_modules/fibers/future.js:173
W20141210-18:14:54.395(5.5)? (STDERR)                       throw(ex);
W20141210-18:14:54.395(5.5)? (STDERR)                             ^
W20141210-18:14:54.396(5.5)? (STDERR) RangeError: Maximum call stack size exceeded
=> Exited with code: 8
=> Your application is crashing. Waiting for file change.

当我使用流星方法返回查询结果时。

Meteor.methods({
    rquery: function(post){
        console.log(post);
        var result = AdvtColl.find();
        return result;
    }
});

【问题讨论】:

    标签: javascript meteor


    【解决方案1】:

    您不能从方法返回游标 - 只能返回 EJSON。在您的代码中,resultfind 调用的结果,它是一个游标 - 您需要使用 findOne 或在 find() 之后添加 fetch() 以返回相关文档。

    var result = AdvtColl.findOne(); // RETURNS A DOCUMENT
    
    var result = AdvtColl.find().fetch(); // RETURNS AN ARRAY OF DOCS (EVEN IF THERE'S ONLY ONE OF THEM)
    

    【讨论】:

    • 知道了,只有发布函数可以返回游标。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-06
    • 1970-01-01
    • 2021-05-30
    • 2021-07-11
    • 2019-07-05
    相关资源
    最近更新 更多