Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

一天理解javascript promise

作者:思念的回忆   发布日期:2025-06-14   浏览:62

// 示例代码:使用 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();

解释说明:

  1. Promise 的创建new Promise() 构造函数接受一个执行器函数作为参数,该函数有两个参数 resolvereject。当异步操作成功时调用 resolve,失败时调用 reject
  2. 处理 Promise:使用 .then() 方法处理成功的回调,使用 .catch() 方法处理失败的回调。
  3. async/awaitasync 函数返回一个 Promise,await 关键字用于等待 Promise 完成,简化了 Promise 链式调用的写法,并且可以使用 try/catch 来捕获异常。

上一篇:javascript截取字符串

下一篇:javascript apply

大家都在看

js 数组对象排序

js 数组删掉第一个值

js fill

js 数组复制

js 复制数组

js 数组拷贝

js 对象转数组

js 深拷贝数组

js 获取今天年月日

js jsonp

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站