gpt4 book ai didi

meteor :未捕获的 RangeError:超出最大调用堆栈大小

转载 作者:行者123 更新时间:2023-12-02 00:47:46 27 4
gpt4 key购买 nike

我是 Meteor 的新手。我正在做简单的应用程序。这是我遇到的问题:

Template.newFeedForm.events({
'submit #new-feed-form'(event) {
event.preventDefault();

const target = event.target;
const text = target.text;

Meteor.call('feeds.insert', text);

target.text.value = '';
}
});

所以我有 newFeedForm 模板,在我的 feeds.js 中有

Meteor.methods({
'feeds.insert'(text){
check(text, String);
//check(hashtag, String);

// Make sure the user is logged in before inserting a task
if (! this.userId) {
throw new Meteor.Error('not-authorized');
}
console.log(this.userId);

// Feeds.insert({
// text: text,
// owner: this.userId,
// username: Meteor.users.findOne(this.userId).username,
// createdAt: new Date()
// });
}
});

我在这里注释掉了 Feeds.insert,认为它会导致问题。似乎是不同的东西。每当执行 Meteor.call 时,我都会得到这个:

Uncaught RangeError: Maximum call stack size exceeded
at Function._.(anonymous function) [as isArguments] (http://localhost:3000/packages/underscore.js?hash=cde485f60699ff9aced3305f70189e39c665183c:1068:30)
at Object.EJSON.clone (http://localhost:3000/packages/ejson.js?hash=0f17ced99d522d48cd8f8b2139167fd06babd969:512:25)
at http://localhost:3000/packages/ejson.js?hash=0f17ced99d522d48cd8f8b2139167fd06babd969:531:22
at Function._.each._.forEach (http://localhost:3000/packages/underscore.js?hash=cde485f60699ff9aced3305f70189e39c665183c:157:22)
at Object.EJSON.clone (http://localhost:3000/packages/ejson.js?hash=0f17ced99d522d48cd8f8b2139167fd06babd969:530:5)
at http://localhost:3000/packages/ejson.js?hash=0f17ced99d522d48cd8f8b2139167fd06babd969:531:22
at Function._.each._.forEach (http://localhost:3000/packages/underscore.js?hash=cde485f60699ff9aced3305f70189e39c665183c:157:22)
at Object.EJSON.clone (http://localhost:3000/packages/ejson.js?hash=0f17ced99d522d48cd8f8b2139167fd06babd969:530:5)
at http://localhost:3000/packages/ejson.js?hash=0f17ced99d522d48cd8f8b2139167fd06babd969:531:22
at Function._.each._.forEach (http://localhost:3000/packages/underscore.js?hash=cde485f60699ff9aced3305f70189e39c665183c:157:22)

不知道发生了什么。这是我重现此错误的 repo 协议(protocol): https://github.com/yerassyl/nurate-meteor

最佳答案

通常,当出现这样的错误时(尤其是在处理 Meteor Method 时),这意味着您可能没有传递“正确”的数据(或您认为正确的数据)。

查看您的表单处理代码,我注意到您从未获取文本区域文本数据。

const text = target.text;

target.text 返回实际的 textarea DOM 对象,但您真正想要的是该对象包含的值。以下代码将解决您的问题。

const text = target.text.value;

关于 meteor :未捕获的 RangeError:超出最大调用堆栈大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42375420/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com