gpt4 book ai didi

Javascript 异步函数和 promise

转载 作者:行者123 更新时间:2023-11-30 14:41:44 25 4
gpt4 key购买 nike

在我的时区下午好。

我一直在阅读有关 Promises 和 Async 函数的文章,我看到一个页面,其中有一个代码示例:

function doubleAfter2Seconds(x) {
return new Promise(resolve => {
setTimeout(() => {
resolve(x * 2);
}, 2000);
});
}

async function addAsync(x) {
const a = await doubleAfter2Seconds(10);
const b = await doubleAfter2Seconds(20);
const c = await doubleAfter2Seconds(30);
return x + a + b + c;
}

var toLog = addAsync(10);
console.log(toLog);

我使用了 JSFiddle 和 Chrome 控制台:“toLog”变量是一个 promiseValue 为 130 的 promise 对象。

问题:

doubleAfter2Seconds 函数内,求和是在 "resolve" 函数内进行的,如果在示例中我们从未传递“resolve”函数(通过 then 方法我认为是 promise 对象)我们怎样才能得到 130 结果?

最好的问候提前致谢

最佳答案

Inside the doubleAfter2Seconds function the sum is made inside the "resolve" function

没有。

乘法在作为参数传递给 Promise 的匿名(箭头)函数内执行。

该表达式的结果立即作为参数传递给 resolve 函数。

resolve 函数由 Promise 构造函数创建,并作为第一个参数传递给(前面提到的)匿名函数。

(然后该值通过 await 关键字返回给 abc。 )

关于Javascript 异步函数和 promise ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49532743/

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