我有一个非常简单的问题,一个在JS方面经验丰富的人将能够在几秒钟内回答。
我想知道为什么当我使用关键字dataset1
声明变量(let
)时,以后无法再进行分配。对我来说很奇怪,因为我可以在promise的范围内修改dataset
...
let dataset = [];
d3.json("foo.json").then((data) => {
data.map((d) => {
d.date = parseDate(d.date);
d.adjclose = +d.adjclose;
dataset.push(d);
});
});
console.log(dataset); // prints out the parsed data
let dataset1;
d3.json("foo.json").then((data) => {
dataset1 = data.map((d) => {
d.date = parseDate(d.date);
d.adjclose = +d.adjclose
return d;
});
});
console.log(dataset1); // prints undefined... :(