js如何监听一个递归函数执行完成,给出代码示例
时间: 2024-04-29 10:27:12 浏览: 17
可以使用Promise和async/await实现监听递归函数的执行完成。具体代码示例如下:
方法一:使用Promise实现监听递归函数执行完成
```javascript
function recursiveFunc(arr) {
return new Promise((resolve, reject) => {
if (arr.length == 0){
resolve('完成');
}else{
let item = arr.shift();
console.log(item); // 模拟递归函数处理每个元素的逻辑
recursiveFunc(arr).then(res => {
resolve(res);
});
}
});
}
recursiveFunc([1,2,3,4]).then(res => {
console.log(res); // '完成'
});
```
方法二:使用async/await实现监听递归函数执行完成
```javascript
async function recursiveFunc(arr) {
if (arr.length == 0){
return '完成';
}else{
let item = arr.shift();
console.log(item); // 模拟递归函数处理每个元素的逻辑
await recursiveFunc(arr);
return '完成';
}
}
recursiveFunc([1,2,3,4]).then(res => {
console.log(res); // '完成'
});
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)