Javascript d3.csv承诺挂起并获取其数据

Javascript d3.csv承诺挂起并获取其数据,javascript,d3.js,Javascript,D3.js,这是我第一次问StackOverflow——我是D3新手,在这个问题上使用了v5 我已经找了好几天了,什么也找不到。如果有一个现有的,请直接帮我一个确切的答案。非常感谢你的帮助 简介:刚刚得到一个示例数据供使用: 首先,在此之前,我的代码如下: <script src="https://d3js.org/d3.v5.min.js"></script> <script type="text/javascript"> $(document).ready(

这是我第一次问StackOverflow——我是D3新手,在这个问题上使用了v5

我已经找了好几天了,什么也找不到。如果有一个现有的,请直接帮我一个确切的答案。非常感谢你的帮助


简介:刚刚得到一个示例数据供使用:
首先,在此之前,我的代码如下:

<script src="https://d3js.org/d3.v5.min.js"></script>
<script type="text/javascript">
   $(document).ready(function() {
      var yield = d3.csv("http://server/trend/data.csv",
                       function(data, i) {
                          return {
                             waf : data.Wafer,
                             seq : i,
                           yield : +data["Product Yield"].replace(/%/g, "")
                       };
      });
      console.log(yield);
   });
</script>
我仍然可以从console.log(data)中看到过滤后的数据

但是当我使用“yield”变量从d3.csv外部查询时

值现在未定义


很抱歉给你添麻烦,我老板要杀了我。。我需要这些过滤后的数据作为我的趋势,很快就会添加一个帕累托图。。提前感谢stackoverflow提供的更多功能-

编辑:以下是@altocumulus的评论

我相信你可能在追求:

var resultYield;

d3.csv("http://server/trend/data.csv",
  function(data, i) {
    return {
      waf : data.Wafer,
      seq : i,
      yield : +data["Product Yield"].replace(/%/g, "")
    };
  }).then(function(data){
    resultYield = data;
    console.log(resultYield);
  })
关于:使用yield/return作为对象文本的键:

const测试={
收益率:“收益率”,
return:“return”
}
常量getTest=()=>({
收益率:“getYield”,
return:'getReturn'
})
const getTest2=函数(){
返回{
收益率:'getYield2',
return:'getReturn2'
}
}

log(test,getTest(),getTest2())
edit:following@altocumulus的评论

我相信你可能在追求:

var resultYield;

d3.csv("http://server/trend/data.csv",
  function(data, i) {
    return {
      waf : data.Wafer,
      seq : i,
      yield : +data["Product Yield"].replace(/%/g, "")
    };
  }).then(function(data){
    resultYield = data;
    console.log(resultYield);
  })
关于:使用yield/return作为对象文本的键:

const测试={
收益率:“收益率”,
return:“return”
}
常量getTest=()=>({
收益率:“getYield”,
return:'getReturn'
})
const getTest2=函数(){
返回{
收益率:'getYield2',
return:'getReturn2'
}
}

console.log(test,getTest(),getTest2())
您不能将
yield
用作变量或属性名,它是一个。感谢@Thilina Nakkawita在我的问题中直接包含我的图像:)感谢@altocumulus提供此信息。。。我从来不知道收益率是它的关键词之一-你不能将
yield
用作变量或属性名称,它是一个。感谢@Thilina Nakkawita在我的问题中直接包含我的图片:)感谢@altocumulus提供此信息。。。我从来不知道yield是它的一个关键词——在object literal中仍然有一个
yield
。作为一个键?我不认为它有什么问题?说得对。从来没有想过这一点,因为我通常认为使用关键字作为标识符是一个坏主意。相关:,.`ECMAScript 3不允许使用未加引号的保留字作为属性名。`I明白您的意思。您好@pandamakes,谢谢您的回答,我尝试了您的代码并更改了除csv col title
var resultYield;d3.csv(“http://localhost:5001/data.csv“,函数(data,i){返回{waf:data.wave,seq:i,yld:+data[“SDPT Yield”]。替换(/%/g,”)};})。然后(函数(data){resultYield=data;console.log(resultYield);})
ResultyField在d3.csv内部工作,但在d3.csv外部不工作-我需要获取此类数据--
ResultyField=[{waf:“7G650”,seq:1,yld:94.27}]
在对象文本中仍然有一个
yield
?我不认为它有什么问题?说得对。从来没有想过这一点,因为我通常认为使用关键字作为标识符是一个坏主意。相关:,.`ECMAScript 3不允许使用未加引号的保留字作为属性名。`I明白您的意思。您好@pandamakes,谢谢您的回答,我尝试了您的代码并更改了除csv col title
var resultYield;d3.csv(“http://localhost:5001/data.csv“,函数(data,i){返回{waf:data.wave,seq:i,yld:+data[“SDPT Yield”]。替换(/%/g,”)};})。然后(函数(data){resultYield=data;console.log(resultYield);})
ResultyField在d3.csv内部工作,但在d3.csv外部不工作-我需要获取此类数据--
ResultyField=[{waf:“7G650”,seq:1,yld:94.27}]
console.log(yield);
var resultYield;

d3.csv("http://server/trend/data.csv",
  function(data, i) {
    return {
      waf : data.Wafer,
      seq : i,
      yield : +data["Product Yield"].replace(/%/g, "")
    };
  }).then(function(data){
    resultYield = data;
    console.log(resultYield);
  })