gpt4 book ai didi

javascript - 我想用(新的 promise )将数据存储在变量中? javascript

转载 作者:行者123 更新时间:2023-11-30 09:17:47 25 4
gpt4 key购买 nike

我想将数据存储在变量 storData 中并将其打印到控制台 -

const opj = [
{ data : {id: 1 , name : "Emad" }},
{ data : {id: 2 , name : "Ahmad" }},
{ data : {id: 3 , name : "Mazen" }}
];


const p = new Promise (resolve => {

setTimeout(resolve(opj), 300);

});


let storData = [];


p.then(result => {
//console.log(result);
storData = [...result];
})

// i need the data outside hear in console:

console.log('storData',storData);

我想要一个简单的解释,这样我就可以学习

最佳答案

如果您愿意将代码包装在一个函数中,您可以将其标记为 asyncawait结果。

虽然它本质上是语法糖,但 async/await 提供了一个易于识别的事件链,对于刚刚学习的人来说可能更熟悉,但也有助于(可以说)更清晰的代码。

const opj = [
{ data : {id: 1 , name : "Emad" }},
{ data : {id: 2 , name : "Ahmad" }},
{ data : {id: 3 , name : "Mazen" }}
];

const p = new Promise (resolve => setTimeout(resolve(opj), 300) );

async function getResult() {
let result = await p; //wait for p to resolve
let storData = [...result]; //process the result
console.log('storData',storData); //log it
}

getResult();

至于“简单解释”,想象一下你调用一个 friend ,问他能不能借点糖给你。他说:“当然!我现在就把它送到你家。”这是 p。您在其他地方开始了一项行动,但您不知道需要多长时间。

你可以继续你的一天,但是你还不能使用糖 - 你必须等待你的 friend 到达(这就是 .then( ... )await 执行)。

.then( ... ) 之外或没有 await 记录 storData 等同于挂断电话并尝试立即使用糖,而不是等待您的 friend 到达。

关于javascript - 我想用(新的 promise )将数据存储在变量中? javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53886929/

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