|
本帖最后由 杨永安 于 2023-8-23 17:06 编辑
api.ajax是回调风格的。
可以使用 promise 包装一下, 来适配 async 和 await。
你可以使用Promise来进行包装,以下是一个例子:
```javascript
function ajax(params) {
return new Promise((resolve, reject) => {
api.ajax(params, function(ret, err){
if (ret) {
resolve(ret);
} else {
reject(err);
}
});
});
}
```
然后你就可以使用 async 和 await 来使用这个函数了,例如:
```javascript
async function test() {
try {
let result = await ajax(params);
console.log(result);
} catch (err) {
console.error(err);
}
}
```
在这个例子中,我们创建了一个新的函数 `ajax`,它接收相同的参数 `params`,并返回一个新的 Promise。在这个 Promise 中,我们调用原来的 `api.ajax` 函数,并在回调函数中,如果成功就调用 `resolve`,如果失败就调用 `reject`。
然后我们就可以在异步函数中使用 `await` 来调用这个新的 `ajax` 函数,并使用 `try/catch` 来处理可能的错误。
|
|