我确信有一个简单的方法可以做到这一点,但我在围绕异步调用及其流程方面困难重重。我试图在javascript中做一个简单的赋值语句,然后设置一个定时器,在该对象被赋值后对其执行操作。我有一些沿线:Javascript异步分配和回调
var info = getInfo();
$timeout(updateInfo(info), 5000);
但是,我不希望超时被执行,直到最初设置信息。我试图寻找使用.then
或某种形式的回调,但我还没有成功确定如何做到这一点。我不确定在updateInfo
调用中是否使用info
参数使得我无法在getInfo
中使用回调或正确的流程。我读过其他文章和堆栈溢出响应,但无法找到一个处理异步分配的问题,然后在随后的调用中使用它作为参数。
getInfo
和updateInfo
是返回Highcharts图形配置对象的方法。而不复制了所有的具体细节:
getInfo: function() {
return {
options: {
chart: {
type: 'line'
}
}
...
}
}
updateInfo: function(info) {
// Here computations are performed on plot series data.
info.series.push(...)
}
你能分享一下'getInfo'和'updateInfo'的实现吗?看起来像你正在使用角度,是这样吗? – idoshamun
如果你还没有找到它,[这个问题](http:// stackoverflow。com/questions/14220321/how-to-return-the-a-an-asynchronous-call)被认为是堆栈溢出的典型参考,但是 - 正如@Shamun所说,没有看到这些功能的细节很难说。 –
它应该是'$ timeout(函数(info){updateInfo(info);},5000);'至少。但除非'getInfo'异步工作,否则应该没问题。 – raina77ow