gpt4 book ai didi

javascript - Meteor.setTimeout 函数不起作用

转载 作者:行者123 更新时间:2023-11-28 10:51:49 26 4
gpt4 key购买 nike

我在互联网上浏览了很长一段时间,试图找出我的代码出了什么问题,但找不到有效的答案。

Template.map.onCreated(function() {
Meteor.setTimeout(function() {
GoogleMaps.ready('exampleMap', function(map) {
var marker = new google.maps.Marker({
position: map.options.center,
map: map.instance
});
});
}, 2000);
});

我只是尝试为 GoogleMap 功能设置 2 秒的延迟来触发,但它不起作用。我已经尝试了很多不同的事情,例如向我的函数声明一个 var,然后匿名触发 setTimeout 函数等等...但没有运气...我没有从控制台收到错误,所以我觉得我的代码写得很好,Meteor 文档没有提供有关 setTimeout 函数的太多信息。

这也不起作用:

Template.map.onRendered(function() {
Tracker.afterFlush(function(){
GoogleMaps.ready('exampleMap', function(map) {
var marker = new google.maps.Marker({
position: map.options.center,
map: map.instance
});
});
});
});

最佳答案

将 setTimeout 中的代码转移到外部函数,如下所示:

function prepareMap() {
GoogleMaps.ready('exampleMap', function(map) {
var marker = new google.maps.Marker({
position: map.options.center,
map: map.instance
});
});
}
}

并调用 setTimeout 内的函数不带括号,如下所示:

Template.map.onCreated(function() {
setTimeout(prepareMap, 2000);
});

如果使用括号调用该函数,该函数将立即执行,而不会经过超时中指定的延迟。

关于javascript - Meteor.setTimeout 函数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31947774/

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