首页 > 其他分享 >proxy代理

proxy代理

时间:2023-01-29 16:46:28浏览次数:38  
标签:target 对象 代理 prop handler proxy

基础概念

proxy代理,顾名思义,可以代理一个对象。
然后可以拦截对象上的一些操作,产生副作用等。(实现响应式)

定义一个代理:
const p = new Proxy(target, handler)

  • target:代理的对象(目标对象)
  • handler:各种函数,行为捕捉器

其中target可以是函数,可以通过代理,修改函数的功能,而不影响原函数。

创建可撤销的proxy对象
Proxy.revocable()

Proxy代理是ES6新增特性,也是Vue3大部分的响应式实现原理

handler常用方法介绍

get

handler.get(target, property, receiver)

  • target: 目标对象
  • property: 被获取的属性名
  • receiver: proxy或继承proxy的对象

用于拦截读取属性操作

has

has(target, prop)
prop: 需要检查的属性
返回boolean值

用于拦截属性查询 in

set

set(target, prop, value, receiver)
prop: 将被设置的属性名
value: 新属性值
receiver: 最初被调用的对象,通常是proxy本身

返回Boolean值,true代表设置成功

应用场景

  • 不改变原函数,对代理进行功能修改
  • 捕获对象值的一些操作

标签:target,对象,代理,prop,handler,proxy
From: https://www.cnblogs.com/yoe-note/p/17073105.html

相关文章

  • 装饰者模式和代理模式
    代理模式和装饰器模式很像,这里用【到咖啡馆喝咖啡】作例子来讲解。基础实现定义一个咖啡的接口。publicinterfaceCoffee{/***打印当前咖啡里有什么......
  • 爬虫入门第1课:代理池概述及开发环境
    1.什么是代理池代理池就是有代理IP组成的池子,它可以提供多个稳定可用的代理IP2.为什么要实现代理池我们在做爬虫的时候,最常见一种反爬手段就是ip反爬;也就是当同一......
  • MyBatis完成代理方式查询数据以及核心文件配置
    MyBatis目标能够完成Mybatis代理方式查询数据能够理解Mybatis核心配置文件的配置一、Mybatis1.1Mybatis概述1.1.1Mybatis概念MyBatis是一款优秀的持久层框架,用于简化JDB......
  • 【Rancher】- 代理K8s部署记录
    1、在任意节点中,安装Rancherdockerrun-d--restart=unless-stopped-p8080:80-p8443:443--privilegedrancher/rancher:v2.5.9其中"v2.5.9”可以替换为“lates......
  • 二级代理模式解决固定IP问题
    0x01前言​因公司业务需要有一个固定的IP作为统一的流量转发,但公司没有固定IP,于是本人在公网上搭建了一个代理服务器,用作公司内部服务器流量统一转发,但使用过程又遇到了问......
  • vue配置反向代理解决跨域__Vue.js
    正向代理与反向代理正向代理:在客户端和原始服务器(originserver)之间架设一个代理服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后......
  • 日常运维管理-IBM监控代理安装
        应用运营监控项目 SCAPMAgent安装文档                        目录1项目概述...51.1项目背景.........
  • mac为终端Terminal设置代理访问
    这里我的ssport:1086,httpport:1087以下配置基于当前端口更换所有终端应用的代理如果没有设置代理的话,连github这个地址都上不去。临时设置exporthtt......
  • Vue3 proxy 解决跨域
    1.首先我们先了解一下什么是跨域主要是出于浏览器的同源策略限制,它是浏览器最核心也最基本的安全功能。当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不......
  • 静态Web服务器-多任务版Python解释器详解实现代理池的API模块
    学习目标能够写出多线程版的多任务web服务器程序1.静态Web服务器的问题目前的Web服务器,不能支持多用户同时访问,只能一个一个的处理客户端的请求,那么如何开发多任务版的web......