gpt4 book ai didi

javascript - 使用异步数据调用值的 Google Chart DataView 计算列

转载 作者:行者123 更新时间:2023-11-28 03:28:04 25 4
gpt4 key购买 nike

我正在使用 DataView 计算列。我使用的 calc: callValue 函数需要从两个异步数据调用结果中获取值,进行计算并返回最终值。

我通常实现多个数据调用然后计算值的方式是使用 $.when().done()。但是,DataView 不会等到异步调用完成,而是显示空值。

我认为它在语法中,但无法弄清楚。这是我到目前为止所拥有的。

var view = new google.visualization.DataView(data);

view.setColumns([
data.getColumnIndex('PART'),
{ calc: callValue, type: 'string'}
]);

function callValue(dataTable, rowNum) {

var part = dataTable.getValue(rowNum, dataTable.getColumnIndex('PART');
var value1;
var value2;

$.when(
$.get( "https://jsonplaceholder.typicode.com/posts" ),
$.get( "https://jsonplaceholder.typicode.com/users" )
).done(function(json1, json2){
value1 = json1[0].title;
value2 = json2[0].website;
})

return part + value1 + value2;
}

如何实现我的目标...从两个异步数据调用结果中获取值,进行计算并返回最终值?

感谢您提供的任何指导!

最佳答案

解决方案:调用异步数据,然后在 DataView 中使用它。请参阅@WhiteHat 的评论。

since $.when is async, the return statement will always run before $.when is finished. you'll need to collect all the possible data, before creating the data view... – WhiteHat Oct 18 at 1:26

关于javascript - 使用异步数据调用值的 Google Chart DataView 计算列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58442160/

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