gpt4 book ai didi

Javascript 解析 Promise Pending

转载 作者:行者123 更新时间:2023-12-01 01:37:55 27 4
gpt4 key购买 nike

JS 新手,我正在尝试理解 Promises,我可以使用一些见解。

let urlPath = "some urlpath with data"
let data = d3.csv(urlPath).then(function (d) {
console.log(d); // Prints data as expected
});

我的目标是我希望函数将数据返回到 DATA 变量中,以便我可以继续在代码中进一步执行它。所以类似于下面的内容:

let data = d3.csv(urlPath).then(function (d) { return d; });
//....do more things with data....
console.log(data); // returns Promise { pending }

但是代码一直给我 Promise {pending}。有什么想法可以解决这个 promise ,以便我得到我想要的东西吗?谢谢,

最佳答案

这在 ECMAScript 2015 版本中是不可能的。然而,使用 ES2017,您可以在 async 中实现这一点。 IIFE 使用 await :

(async () => {
let data = await d3.csv(urlPath)
//....do more things with data....
console.log(data)
})()

对于错误处理,您可以将其包装在 try...catch 中:

(async () => {
try {
let data = await d3.csv(urlPath)
//....do more things with data....
console.log(data)
} catch (error) {
// handle error
}
})()

这类似于 ES2015 中的以下内容:

d3.csv(urlPath).then(data => {
//....do more things with data....
console.log(data)
}).catch(error => {
// handle error
})

关于Javascript 解析 Promise Pending,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52667749/

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