// 示例代码:使用 Promise 创建异步操作
// 创建一个返回 Promise 的函数,模拟网络请求
function fetchData(url) {
return new Promise((resolve, reject) => {
// 模拟网络延迟
setTimeout(() => {
if (url === 'success') {
// 成功时调用 resolve
resolve('数据获取成功');
} else {
// 失败时调用 reject
reject('数据获取失败');
}
}, 1000);
});
}
// 使用 then 和 catch 处理 Promise 的结果
fetchData('success')
.then(response => {
console.log(response); // 输出: 数据获取成功
})
.catch(error => {
console.error(error); // 如果有错误会输出错误信息
});
// 使用 async/await 处理 Promise
async function getData() {
try {
const response = await fetchData('success');
console.log(response); // 输出: 数据获取成功
} catch (error) {
console.error(error); // 如果有错误会输出错误信息
}
}
getData();
new Promise()
构造函数接受一个执行器函数作为参数,该函数有两个参数 resolve
和 reject
。当异步操作成功时调用 resolve
,失败时调用 reject
。.then()
方法处理成功的回调,使用 .catch()
方法处理失败的回调。async
函数返回一个 Promise,await
关键字用于等待 Promise 完成,简化了 Promise 链式调用的写法,并且可以使用 try/catch
来捕获异常。上一篇:javascript截取字符串
下一篇:javascript apply
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站