gpt4 book ai didi

Javascript异步赋值和回调

转载 作者:行者123 更新时间:2023-12-02 15:32:54 24 4
gpt4 key购买 nike

我确信有一种简单的方法可以做到这一点,但我很难理解异步调用及其流程。我正在尝试在 javascript 中执行一个简单的赋值语句,然后设置一个计时器,以便在分配该对象后对该对象执行操作。我有一些类似的东西:

var info = getInfo();
$timeout(updateInfo(info), 5000);

但是,我不希望在最初设置信息之前执行超时。我尝试过使用 .then 或某种形式的回调,但我尚未成功确定如何做到这一点。我不确定在 updateInfo 调用中使用 info 参数是否会导致我无法在 getInfo 中使用回调或什么正确的流程是。我读过其他文章和堆栈溢出响应,但找不到处理异步分配然后在后续调用中将其用作参数的文章。

getInfoupdateInfo 是返回 Highcharts 图形配置对象的方法。无需复制所有具体细节:

getInfo: function() {
return {
options: {
chart: {
type: 'line'
}
}
...
}
}

updateInfo: function(info) {
// Here computations are performed on plot series data.
info.series.push(...)
}

最佳答案

getInfoupdateInfo 对我来说看起来非常同步。所以不应该有任何同步问题。

我注意到的唯一一件事是在您的示例中错误地使用了 $timeout$timeout(updateInfo(info), 5000); 这样 updateInfo 将在超时开始之前被调用,并且返回值将作为参数传递。

为了在 5 秒后调用 updateInfo,您必须使用匿名函数或 bind 函数。

$timeout(function() { updateInfo(info); }, 5000);

$timeout(updateInfo.bind(null, info), 5000);

有关 bind 的更多信息.

关于Javascript异步赋值和回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33170575/

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