gpt4 book ai didi

javascript - 如何正确停止 Meteor Tracker.autorun?

转载 作者:行者123 更新时间:2023-11-29 10:14:11 24 4
gpt4 key购买 nike

我有以下内容:

Meteor.startup(function() {
var computation = Tracker.autorun(function() {
var currentChapter;
currentChapter = Chapters.findOne({
_id: currentChapterId
});
if (currentChapter) {
if (currentChapter.title) {
$("#input-title").val(currentChapter.title);
} else {
$("#input-title").val("");
}
if (currentChapter.content) {
$("#input-content").html(currentChapter.content);
} else {
$("#input-content").html("");
}
}
return computation.stop();
});
});

现在我得到:

Exception from Tracker afterFlush function: Cannot call method 'stop' of undefined TypeError: Cannot call method 'stop' of undefined

我想做的是在 currentChapter 为真时停止计算。我做错了什么?

最佳答案

两件事:

1 - 您的自动运行函数获得传递给它的计算句柄,因此您可以像这样停止它:

Meteor.startup(function() {
var computation = Tracker.autorun(function(thisComp) {
var currentChapter;
currentChapter = Chapters.findOne({
_id: currentChapterId
});
if (currentChapter) {
if (currentChapter.title) {
$("#input-title").val(currentChapter.title);
} else {
$("#input-title").val("");
}
if (currentChapter.content) {
$("#input-content").html(currentChapter.content);
} else {
$("#input-content").html("");
}
thisComp.stop();
}
});
});

2 - 在您的代码中,无论如何计算都会在第一次运行结束时停止 - 您应该在 if (currentChapter) block 内停止它。

关于javascript - 如何正确停止 Meteor Tracker.autorun?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26323633/

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