gpt4 book ai didi

javascript - JavaScript 中的递归异步函数

转载 作者:数据小太阳 更新时间:2023-10-29 06:09:46 25 4
gpt4 key购买 nike

我正在尝试在 JavaScript 中使用 async/await 编写递归函数。这是我的代码:

async function recursion(value) {
return new Promise((fulfil, reject) => {
setTimeout(()=> {
if(value == 1) {
fulfil(1)
} else {
let rec_value = await recursion(value-1)
fulfil(value + rec_value)
}
}, 1000)
})
}

console.log(await recursion(3))

但是我有语法错误:

let rec_value = await recursion(value-1)
^^^^^^^^^

SyntaxError: Unexpected identifier

最佳答案

我会按如下方式编写您的代码:

const timeout = ms => new Promise(resolve => setTimeout(resolve, ms));

async function recursion(value) {
if (value === 0) return 0;

await timeout(1000);
return value + await recursion(value - 1);
}

(async () => console.log(await recursion(3)))();

关于javascript - JavaScript 中的递归异步函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46242600/

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