用promise封装一个不会进入死循环的同步函数
时间: 2024-05-05 08:19:31 浏览: 97
当使用promise封装同步函数时,我们需要确保该函数不会进入死循环。以下是一个示例代码:
```javascript
function safeSyncFunc(){
let result = null;
//some code that won't enter infinite loop goes here
return result;
}
function safePromiseFunc(){
return new Promise((resolve,reject)=>{
try{
const result = safeSyncFunc();
resolve(result);
}catch(err){
reject(err);
}
});
}
```
在这个例子中,我们首先编写一个同步函数 safeSyncFunc,确保该函数不会进入死循环。然后,我们在 safePromiseFunc 中使用 Promise 将 safeSyncFunc 包装起来,并在 try-catch 语句中捕获可能发生的异常。当函数执行成功时,我们使用 resolve 将结果返回给调用方;当函数执行失败时,我们使用 reject 将错误信息返回给调用方。
使用此代码模板,你可以根据自己的需求替换 safeSyncFunc 中的代码,从而封装出一个不会进入死循环的同步函数。
阅读全文