Proxy用法——让我们创建一个API代理器

AiChinaTech 2天前我想分享

什么是Java代理?

MDN将代理定义为:

代理对象用于定义基本操作的自定义行为(例如属性查找,赋值,枚举,函数调用等)。

通常,代理对象是目标对象的代理,对目标对象的任何访问都必须通过代理。因此,我们可以过滤和重写外部访问。

语法

target-用Proxy包装的目标对象(可以是任何类型的对象,包括本机数组,函数,甚至另一个代理)。

handler-一个对象,其属性是行为函数,该函数定义执行操作时的代理。

简单的例子

现在假设我们要访问对象的属性。如果该属性存在,请打印该属性的值,否则将报告错误。在拥有Proxy对象之前,我们需要使用一种额外的方法来实现它。如下:

上面的代码可以实现预期的功能,但是如果我们可以将逻辑检查该属性是否存在,它将使我们专注于业务逻辑代码。这时我们可以使用代理,让我们使用代理来实现以上功能。

我们将代理添加到用户对象。代理将拦截访问用户的任何属性,然后检查所访问的属性是否存在。如果存在,则返回属性值,否则将报告错误。这样,我们可以专注于在printUser方法中编写与业务逻辑相关的代码。

以下是另一个示例,我们在为对象属性分配值时进行拦截。

API代理

最后,让我们看一个更复杂的示例,使用代理包装api对象。在这里,我们仅编写用于介绍的get方法和post方法。

在处理程序对象中,设置侦听阻止我们重新分配api对象,而deleteProperty侦听阻止我们删除api对象的属性。通过获取拦截操作,将获取和发布两种方法添加到api对象中。调用这两个方法时,将验证请求url或数据,最后根据服务器响应返回Promise对象。这是使用get方法的示例:

因此,当我们要控制对象的某些默认行为时,可以考虑使用代理。

收款报告投诉

什么是Java代理?

MDN将代理定义为:

代理对象用于定义基本操作的自定义行为(例如属性查找,赋值,枚举,函数调用等)。

通常,代理对象是目标对象的代理,对目标对象的任何访问都必须通过代理。因此,我们可以过滤和重写外部访问。

语法

target-用Proxy包装的目标对象(可以是任何类型的对象,包括本机数组,函数,甚至另一个代理)。

handler-一个对象,其属性是行为函数,该函数定义执行操作时的代理。

简单的例子

现在假设我们要访问对象的属性。如果该属性存在,请打印该属性的值,否则将报告错误。在拥有Proxy对象之前,我们需要使用一种额外的方法来实现它。如下:

上面的代码可以实现预期的功能,但是如果我们可以将逻辑检查该属性是否存在,它将使我们专注于业务逻辑代码。这时我们可以使用代理,让我们使用代理来实现以上功能。

我们将代理添加到用户对象。代理将拦截访问用户的任何属性,然后检查所访问的属性是否存在。如果存在,则返回属性值,否则将报告错误。这样,我们可以专注于在printUser方法中编写与业务逻辑相关的代码。

以下是另一个示例,我们在为对象属性分配值时进行拦截。

API代理

最后,让我们看一个更复杂的示例,使用代理包装api对象。在这里,我们仅编写用于介绍的get方法和post方法。

在处理程序对象中,集合侦听阻止我们重新分配api对象,而deleteProperty侦听阻止我们删除api对象的属性。通过获取拦截操作,将获取和发布两种方法添加到api对象中。调用这两个方法时,将验证请求url或数据,最后根据服务器响应返回Promise对象。这是使用get方法的示例:

因此,当我们要控制对象的某些默认行为时,可以考虑使用代理。

新闻#永济1Cr13不锈钢板价格行情