gpt4 book ai didi

JavaScript 等待变量

转载 作者:行者123 更新时间:2023-12-02 20:27:33 24 4
gpt4 key购买 nike

我有一个已初始化的服务变量:

service = new google.gdata.calendar.CalendarService('timeless');

这发生在回调函数中。我的问题是我有其他依赖服务变量的函数。如果我太早调用它们,变量将是未定义的,并且脚本不会执行任何操作。

主要问题是用户是否尝试单击调用这些函数之一的按钮。如何让函数等待?如果我使用 cutsom 自旋锁,它会杀死浏览器。

我需要某种伪互斥锁或等待/ sleep 功能。我认为 setTimeout 没有帮助。

谢谢。

最佳答案

引入一定程度的间接性:不是让 onclick() 代码直接调用此类函数,而是将调用放在最初包含不执行任何操作(或者可能显示错误消息,或者以其他方式处理条件),然后一旦 service 初始化,就会得到分配给它的实际函数:

.
.
var indirection = { func1: function(){}, func2: function(){} }
.
.
<element onClick = "indirection.func1()"></element>
.
.
service = new google.gdata.calendar.CalendarService('timeless');
indirection.func1 = functionThatUsesService
.
.

关于JavaScript 等待变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4616295/

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