Vue15-watch对比计算属性

一、姓名案例

1-1、watch实现

1-2、计算属性

对比发现:

计算属性比watch属性更简略一些。

1-3、计算属性 VS 侦听属性

1-4、需求变更

计算属性中不能开启异步任务!!!因为计算属性靠return返回值。但是watch靠亲自写代码去改。

1-5、定时器函数setTimeout()

语法:

javascript 复制代码
var timerId = setTimeout(()=>{  
    console.log('This will not be logged.');  
}, 2000);  
  
clearTimeout(timerId); // 取消定时器

vue中定时任务用的箭头函数,但是,可以用this,因为定时器中的函数并不是vue管理的,定时器到点了,是js引擎去调的函数。

所以,定时器中的函数要用箭头函数!!!

二、小结

三、promiss函数

在JavaScript中,Promise 对象用于表示一个异步操作的最终完成(或失败)及其结果值。

一个 Promise 有三种状态:

  1. Pending(待定):初始状态,既不是成功,也不是失败状态。
  2. Fulfilled(已实现):意味着操作成功完成。
  3. Rejected(已拒绝):意味着操作失败。

一旦状态从 pending 变为 fulfilledrejected,状态就不会再改变。

3-1、创建一个Promise

你可以使用 new Promise() 构造函数来创建一个新的 Promise 对象。这个函数接受一个执行器(executor)函数作为参数,该函数有两个参数:resolvereject,它们都是函数。

javascript 复制代码
const promise = new Promise((resolve, reject) => {  
  // 异步操作  
  setTimeout(() => {  
    if (/* 一切正常 */) {  
      resolve('操作成功');  
    } else {  
      reject(new Error('操作失败'));  
    }  
  }, 1000);  
});

3-2、使用Promise

你可以使用 .then() 方法来处理 fulfilled 状态,使用 .catch() 方法来处理 rejected 状态。

javascript 复制代码
promise.then(result => {  
  console.log(result); // '操作成功'  
}).catch(error => {  
  console.error(error); // 捕获到的错误  
});

3-3、链式调用

.then() 方法返回一个新的 Promise,这使得你可以链式调用 .then().catch()

javascript 复制代码
promise  
  .then(result => {  
    console.log(result); // '操作成功'  
    return anotherAsyncOperation(result); // 返回一个新的Promise  
  })  
  .then(newResult => {  
    console.log(newResult); // 新的异步操作的结果  
  })  
  .catch(error => {  
    console.error(error); // 捕获到的错误  
  });
相关推荐
孟陬7 分钟前
国外技术周刊 #1:Paul Graham 重新分享最受欢迎的文章《创作者的品味》、本周被划线最多 YouTube《如何在 19 分钟内学会 AI》、为何我不
java·前端·后端
BER_c8 分钟前
前端权限校验最佳实践:一个健壮的柯里化工具函数
前端·javascript
兆子龙11 分钟前
别再用 useState / data 管 Tabs 的 activeKey 了:和 URL 绑定才香
前端·架构
sudo_jin11 分钟前
前端包管理器演进史:为什么 npm 之后,Yarn 和 pnpm 成了新宠?
前端·npm
叁两1 小时前
用opencode打造全自动公众号写作流水线,AI 代笔太香了!
前端·人工智能·agent
golang学习记1 小时前
GitLens 十大神技:彻底改变你在 VS Code 中的 Git 工作流
前端·后端·visual studio code
SuperEugene1 小时前
后台权限与菜单渲染:基于路由和后端返回的几种实现方式
前端·javascript·vue.js
兆子龙1 小时前
WebSocket 入门:是什么、有什么用、脚本能帮你做什么
前端·架构
是一碗螺丝粉1 小时前
LangChain 链(Chains)完全指南:从线性流程到智能路由
前端·langchain·aigc
月弦笙音1 小时前
【浏览器】这几点必须懂
前端