CN116700836A - 一种异步网络请求的处理状态获取方法及装置、存储介质 - Google Patents
一种异步网络请求的处理状态获取方法及装置、存储介质 Download PDFInfo
- Publication number
- CN116700836A CN116700836A CN202310031758.0A CN202310031758A CN116700836A CN 116700836 A CN116700836 A CN 116700836A CN 202310031758 A CN202310031758 A CN 202310031758A CN 116700836 A CN116700836 A CN 116700836A
- Authority
- CN
- China
- Prior art keywords
- function
- request
- asynchronous network
- return value
- network request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 137
- 238000000034 method Methods 0.000 title claims abstract description 45
- 230000006870 function Effects 0.000 claims abstract description 248
- 238000004806 packaging method and process Methods 0.000 claims abstract description 37
- 230000000977 initiatory effect Effects 0.000 claims abstract description 25
- 238000009877 rendering Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 9
- 238000000605 extraction Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 7
- 238000012856 packing Methods 0.000 claims description 6
- 238000011161 development Methods 0.000 abstract description 8
- 238000004891 communication Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/449—Object-oriented method invocation or resolution
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请涉及计算机技术领域,具体公开了一种异步网络请求的处理状态获取方法及装置、存储介质、计算机设备,该方法包括:响应于异步网络请求发起指令,调用对应的目标请求函数生成异步网络请求,目标请求函数为经过包装函数进行包装处理后的请求函数;将异步网络请求发送至后端服务器中,并接收后端服务器返回的目标查询数据;将目标查询数据输入至所述包装函数中,基于包装函数中的状态捕获函数的执行数据,确定异步网络请求的处理状态返回值,所述包装函数中包括一组所述状态捕获函数,所述处理状态返回值用于指示所述异步网络请求的处理状态。本申请一方面大大简化了代码,增加了代码的可读性,另一方面可以大大提升业务开发人员的开发效率。
Description
技术领域
本申请涉及计算机技术领域,尤其是涉及到一种异步网络请求的处理状态获取方法及装置、存储介质、计算机设备。
背景技术
当用户想要通过客户端向服务器索取数据时,通常通过客户端向服务器发送网络请求,之后,服务器可以对客户端发送的网络请求作出响应,响应可以包括三种状态,分别是成功状态、失败状态以及结束状态。现有技术中,开发人员通常会在每个网络请求对应的代码下均使用try catch finally表达式来捕获网络请求的成功、失败、结束三种状态,然而,这种方法一方面代码繁杂,可读性较差,另一方面大大降低了业务开发人员的开发效率。
发明内容
有鉴于此,本申请提供了一种异步网络请求的处理状态获取方法及装置、存储介质、计算机设备,通过将一组状态捕获函数放在包装函数中,通过包装函数对请求函数进行包装,以及对后端服务器返回的目标查询数据进行处理得到处理状态返回值,避免了重复利用多组状态捕获函数获取处理状态返回值的问题,一方面大大简化了代码,增加了代码的可读性,另一方面可以大大提升业务开发人员的开发效率。
根据本申请的一个方面,提供了一种异步网络请求的处理状态获取方法,包括:
响应于异步网络请求发起指令,调用对应的目标请求函数生成异步网络请求,所述目标请求函数为经过包装函数进行包装处理后的请求函数;
将所述异步网络请求发送至后端服务器中,并接收所述后端服务器返回的目标查询数据;
将所述目标查询数据输入至所述包装函数中,基于所述包装函数中的状态捕获函数的执行数据,确定所述异步网络请求的处理状态返回值,所述包装函数中包括一组所述状态捕获函数,所述处理状态返回值用于指示所述异步网络请求的处理状态。
根据本申请的另一方面,提供了一种异步网络请求的处理状态获取装置,包括:
函数调用模块,用于响应于异步网络请求发起指令,调用对应的目标请求函数生成异步网络请求,所述目标请求函数为经过包装函数进行包装处理后的请求函数;
请求发送模块,用于将所述异步网络请求发送至后端服务器中,并接收所述后端服务器返回的目标查询数据;
返回值确定模块,用于将所述目标查询数据输入至所述包装函数中,基于所述包装函数中的状态捕获函数的执行数据,确定所述异步网络请求的处理状态返回值,所述包装函数中包括一组所述状态捕获函数,所述处理状态返回值用于指示所述异步网络请求的处理状态。
依据本申请又一个方面,提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述异步网络请求的处理状态获取方法。
依据本申请再一个方面,提供了一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述异步网络请求的处理状态获取方法。
借由上述技术方案,本申请提供的一种异步网络请求的处理状态获取方法及装置、存储介质、计算机设备,前端可以响应于异步网络请求发起指令,接着,前端可以找到与该异步网络请求发起指令对应的目标请求函数,并调用该目标请求函数生成异步网络请求。在这里,与各个网络请求发起指令对应的目标请求函数均为通过包装函数预先包装处理过的请求函数。生成异步网络请求之后,可以将该异步网络请求发送到后端服务器当中,这样当后端服务器接收到该异步网络请求之后,可以对异步网络请求作出响应,并将响应后的目标查询数据返回给前端。由于异步网络请求是基于包装函数包装处理后的请求函数生成的,因此当前端接收到目标查询数据之后,可以将目标查询数据输入到包装函数中,包装函数中可以仅包括一组状态捕获函数。接着,可以通过状态捕获函数的执行数据确定异步网络请求的处理状态返回值。业务开发人员根据处理状态返回值即可确定异步网络请求的处理状态。本申请实施例通过将一组状态捕获函数放在包装函数中,通过包装函数对请求函数进行包装,以及对后端服务器返回的目标查询数据进行处理得到处理状态返回值,避免了重复利用多组状态捕获函数获取处理状态返回值的问题,一方面大大简化了代码,增加了代码的可读性,另一方面可以大大提升业务开发人员的开发效率。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了本申请实施例提供的一种异步网络请求的处理状态获取方法的流程示意图;
图2示出了本申请实施例提供的另一种异步网络请求的处理状态获取方法的流程示意图;
图3示出了本申请实施例提供的一种异步网络请求的处理状态获取装置的结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在本实施例中提供了一种异步网络请求的处理状态获取方法,如图1所示,该方法包括:
步骤101,响应于异步网络请求发起指令,调用对应的目标请求函数生成异步网络请求,所述目标请求函数为经过包装函数进行包装处理后的请求函数;
本申请实施例提供的异步网络请求的处理状态获取方法,可以应用于前端,具体可以应用于业务开发人员进行前端项目开发的场景中。当业务开发人员进行前端项目开发时,可以从对应的服务器获取数据从而确定网络请求的处理情况。业务开发人员可以通过点击前端网页上的图标或者按钮等,生成异步网络请求发起指令,接着,前端可以找到与该异步网络请求发起指令对应的目标请求函数,并调用该目标请求函数生成异步网络请求。在这里,与各个网络请求发起指令对应的目标请求函数均为通过包装函数预先包装处理过的请求函数。
步骤102,将所述异步网络请求发送至后端服务器中,并接收所述后端服务器返回的目标查询数据;
在该实施例中,生成异步网络请求之后,可以将该异步网络请求发送到后端服务器当中,这样当后端服务器接收到该异步网络请求之后,可以对异步网络请求作出响应,并将响应后的目标查询数据返回给前端。
步骤103,将所述目标查询数据输入至所述包装函数中,基于所述包装函数中的状态捕获函数的执行数据,确定所述异步网络请求的处理状态返回值,所述包装函数中包括一组所述状态捕获函数,所述处理状态返回值用于指示所述异步网络请求的处理状态。
在该实施例中,由于异步网络请求是基于包装函数包装处理后的请求函数生成的,因此当前端接收到目标查询数据之后,可以将目标查询数据输入到包装函数中,包装函数中可以仅包括一组状态捕获函数,具体地,一组状态捕获函数可以是一组try catchfinally代码块。接着,可以通过状态捕获函数的执行数据确定异步网络请求的处理状态返回值。业务开发人员根据处理状态返回值即可确定异步网络请求的处理状态。例如,处理状态返回值可以是true、false,当处理状态返回值为true时,可以代表成功处理状态,表示异步网络请求被成功处理;当处理状态返回值为false时,可以代表失败理状态,表示异步网络请求没有被成功处理。
在本申请实施例中,可选地,步骤103中所述“基于所述包装函数中的状态捕获函数的执行数据,确定所述异步网络请求的处理状态返回值”,包括:当所述状态捕获函数中的异常捕获函数从所述目标查询数据中捕获到异常信息时,拦截所述异常捕获函数,并确定所述异步网络请求的处理状态返回值为第一状态值,所述第一状态值用于指示所述异步网络请求的失败处理状态;否则,确定所述异步网络请求的处理状态返回值为第二状态值,所述第二状态值用于指示所述异步网络请求的成功处理状态。
在该实施例中,每一组状态捕获函数中可以包括一个异常捕获函数。例如,当一组状态捕获函数为一组try catch finally代码块时,上述异常捕获函数可以是catch代码块。异常捕获函数可以对服务器返回的目标查询数据中的异常信息进行捕获。如果异常捕获函数从目标查询数据中捕获了异常信息,那么说明此时异步网络请求处理失败,为了避免异常捕获函数在捕获到异常信息之后终止程序,可以通过包装函数对异常捕获函数进行拦截处理,从而继续执行后续操作。与此同时,还可以确定异步网络请求的处理状态返回值为第一状态值,第一状态值可以是false、0等,用于表示异步网络请求处理失败。如果异常捕获函数没有从目标查询数据中捕获异常信息,那么说明此时目标查询数据中不包括异常信息,也即异步网络请求处理成功,此时可以确定异步网络请求的处理状态返回值为第二状态值,第二状态值可以是true、1等,用于表示异步网络请求处理成功。
通过应用本实施例的技术方案,前端可以响应于异步网络请求发起指令,接着,前端可以找到与该异步网络请求发起指令对应的目标请求函数,并调用该目标请求函数生成异步网络请求。在这里,与各个网络请求发起指令对应的目标请求函数均为通过包装函数预先包装处理过的请求函数。生成异步网络请求之后,可以将该异步网络请求发送到后端服务器当中,这样当后端服务器接收到该异步网络请求之后,可以对异步网络请求作出响应,并将响应后的目标查询数据返回给前端。由于异步网络请求是基于包装函数包装处理后的请求函数生成的,因此当前端接收到目标查询数据之后,可以将目标查询数据输入到包装函数中,包装函数中可以仅包括一组状态捕获函数。接着,可以通过状态捕获函数的执行数据确定异步网络请求的处理状态返回值。业务开发人员根据处理状态返回值即可确定异步网络请求的处理状态。本申请实施例通过将一组状态捕获函数放在包装函数中,通过包装函数对请求函数进行包装,以及对后端服务器返回的目标查询数据进行处理得到处理状态返回值,避免了重复利用多组状态捕获函数获取处理状态返回值的问题,一方面大大简化了代码,增加了代码的可读性,另一方面可以大大提升业务开发人员的开发效率。
进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例的具体实施过程,提供了另一种异步网络请求的处理状态获取方法,如图2所示,该方法包括:
步骤201,基于所述包装函数,分别对不同的初始请求函数进行包装处理,得到所述目标请求函数;
在该实施例中,可以利用包装函数预先对各个初始请求函数进行包装处理,进而得到与每个初始请求函数相对应的目标请求函数。在这里,初始请求函数可以是get函数、post函数等,浏览器可以用get函数来获取一个html页面/图片/css/js等资源;可以用post函数来提交一个<form>表单,并得到一个结果的网页。对get函数进行包装处理后,可以得到目标get函数,对post函数进行包装处理后,可以得到目标post函数。
步骤202,将所述目标请求函数挂载在全局变量上,以使所述目标请求函数被成功调用;
在该实施例中,为了保证目标请求函数能够被本程序所有对象或函数引用,可以将目标请求函数挂载在全局变量上,这样业务开发人员可以通过访问全局变量的形式,获取到目标请求函数,简单方便。此外,本申请实施例将各个初始请求函数预先用包装函数进行包装处理生成目标请求函数,后续业务开发人员可以直接引用目标请求函数,提升了异步网络请求的处理效率。
步骤203,确定所述不同的初始请求函数所在的目标目录,并导出所述目标目录下的全部初始请求函数;
在该实施例中,可以找到各个初始请求函数都在项目的哪个或者哪些目录下,将这些目录作为目标目录,并可以将目标目录下的全部初始请求函数导出。例如,目标目录可以是apis目录,进而可以将apis目录下的全部初始请求函数导出。
步骤204,通过类型提取关键字提取所述初始请求函数的类型,并基于声明变量关键字为每个所述初始请求函数对应的目标请求函数的全局变量添加类型声明;
在本申请实施例中,可选地,所述类型提取关键字包括typeof关键字,所述声明变量关键字包括declare关键字。
在该实施例中,导出全部初始请求函数之后,进一步,可以利用typeof关键字等类型提取关键字提取每个初始请求函数对应的类型,typeof可以用来获取一个变量或表达式的类型,例如,变量i的类型为int,那么typeof(i)就等于int。函数也是有类型的,函数的类型可以是其返回值类型。确定了初始请求函数的类型之后,可以为对应的目标请求函数的全局变量添加类型声明,这样即可明确目标请求函数的返回值是哪种类型。具体地,可以利用例如declare关键字等声明变量关键字为全局变量添加类型声明。
步骤205,依据添加类型声明的全局变量生成类型声明文件,并将所述类型声明文件存储至所述目标目录对应的根目录下;
在该实施例中,为每个目标请求函数的全局变量添加类型声明之后,可以利用添加类型声明的全局变量生成类型声明文件,具体地,类型声明文件可以是Javascript的global.d.ts类型声明文件。由于Javascrtipt解释型语言的特性,每个相同类型的对象可以有不同的属性,但是typeScript在编译的过程中可以实现类型检查,开发过程中进行类型提示,进而可以提高开发人员的开发效率。接着,可以将该类型声明文件存储在上述目标目录对应的根目录下。相比于以往将请求函数挂载到全局变量,由于语言特性的原因导致请求函数的参数和返回值无法正常提示的问题,本申请利用typescript和编辑器的能力为目标请求函数增加类型声明,后续业务开发人员可以根据全局属性读取到声明的类型,可以大大提升业务开发人员的工作效率。
步骤206,响应于异步网络请求发起指令,调用对应的目标请求函数生成异步网络请求,所述目标请求函数为经过包装函数进行包装处理后的请求函数;
步骤207,将所述异步网络请求发送至后端服务器中,并接收所述后端服务器返回的目标查询数据;
步骤208,将所述目标查询数据输入至所述包装函数中,基于所述包装函数中的状态捕获函数的执行数据,确定所述异步网络请求的处理状态返回值,所述包装函数中包括一组所述状态捕获函数,所述处理状态返回值用于指示所述异步网络请求的处理状态。
在该实施例中,前端可以响应于异步网络请求发起指令,接着,前端可以找到与该异步网络请求发起指令对应的目标请求函数,并调用该目标请求函数生成异步网络请求。在这里,与各个网络请求发起指令对应的目标请求函数均为通过包装函数预先包装处理过的请求函数。生成异步网络请求之后,可以将该异步网络请求发送到后端服务器当中,这样当后端服务器接收到该异步网络请求之后,可以对异步网络请求作出响应,并将响应后的目标查询数据返回给前端。由于异步网络请求是基于包装函数包装处理后的请求函数生成的,因此当前端接收到目标查询数据之后,可以将目标查询数据输入到包装函数中,包装函数中可以仅包括一组状态捕获函数。接着,可以通过状态捕获函数的执行数据确定异步网络请求的处理状态返回值。业务开发人员根据处理状态返回值即可确定异步网络请求的处理状态。
在本申请实施例中,可选地,所述方法还包括:通过所述包装函数分别从所述目标查询数据中识别第一子数据、第二子数据、第三子数据以及第四子数据;将所述第一子数据作为页面渲染返回值,并当所述处理状态返回值指示所述处理状态为成功处理状态时,依据所述页面渲染返回值进行页面渲染;将所述第二子数据作为失败原因返回值,并当所述处理状态返回值指示所述处理状态为成功处理状态时,将所述失败原因返回值设置为默认值;将所述第三子数据作为接口状态码返回值,所述接口状态码返回值用于判断所述异步网络请求的执行情况;将所述第四子数据作为错误对象记录返回值,所述错误对象记录返回值用于指示错误对象;输出目标返回值,所述目标返回值包括所述处理状态返回值、所述页面渲染返回值、所述失败原因返回值、所述接口状态码返回值以及所述错误对象记录返回值。
在该实施例中,除了确定处理状态返回值之外,为了能够一次性规范化输出服务器返回的目标查询数据,也即使得服务器返回的目标查询数据以标准格式输出,那么还可以利用包装函数从目标查询数据中分别识别到第一子数据、第二子数据、第三子数据和第四子数据。在这里,第一子数据至第四子数据的标识可以依次是data、reason、code、error,第一子数据至第四子数据分别用于指示不同方面的内容。
识别到第一子数据之后,可以将第一子数据作为页面渲染返回值,如果异步网络请求的处理状态为成功处理状态,那么可以直接根据该页面渲染返回值进行前端页面的渲染,需要注意的是,当异步网络请求的处理状态为失败处理状态时,此时页面渲染返回值不可使用。
识别到第二子数据之后,可以将第二子数据作为失败原因返回值,如果异步网络请求的处理状态为成功处理状态时,此时可以自动设置失败原因返回值为默认值,例如0等,表示没有处理失败。如果异步网络请求的处理状态为失败处理状态时,此时业务开发人员可以直接根据失败原因返回值确定异步网络请求处理失败的原因。
识别到第三子数据之后,可以将第三子数据作为接口状态码返回值,接口状态码返回值有多种,分别用于判断异步网络请求的不同执行情况。例如,当接口状态码返回值为200时,说明异步网络请求执行成功并从后端服务器返回相应数据;当接口状态码返回值为403时,说明异步网络请求被后端服务器拒绝执行;当接口状态码返回值为404时,说明后端服务器找不到目标资源。
识别到第四子数据之后,可以将第四子数据作为错误记录返回值,业务开发人员可以通过错误记录返回值直接确定错误对象。
从目标查询数据中分别确定了页面渲染返回值、失败原因返回值、接口状态码返回值、错误对象记录返回值之后,可以将处理状态返回值放在一起,按照标准格式输出,这样业务开发人员通过这五种返回值直接确定了想要了解的相关信息,简单方便,有利于提升业务开发人员的开发效率。
在本申请实施例中,可选地,所述方法还包括:基于类型声明文件,确定所述异步网络请求的目标返回值对应的类型。
在该实施例中,业务开发人员可以先确定异步网络请求对应的目标请求函数,接着根据类型声明文件确定该目标请求函数对应的类型,之后可以将目标请求函数对应的类型直接作为异步网络请求的目标返回值对应的类型。本申请实施例业务开发人员可以成功获得异步网络请求的目标返回值的类型的推断,帮助业务开发人员了解情况。
进一步的,作为图1方法的具体实现,本申请实施例提供了一种异步网络请求的处理状态获取装置,如图3所示,该装置包括:
函数调用模块,用于响应于异步网络请求发起指令,调用对应的目标请求函数生成异步网络请求,所述目标请求函数为经过包装函数进行包装处理后的请求函数;
请求发送模块,用于将所述异步网络请求发送至后端服务器中,并接收所述后端服务器返回的目标查询数据;
返回值确定模块,用于将所述目标查询数据输入至所述包装函数中,基于所述包装函数中的状态捕获函数的执行数据,确定所述异步网络请求的处理状态返回值,所述包装函数中包括一组所述状态捕获函数,所述处理状态返回值用于指示所述异步网络请求的处理状态。
可选地,所述返回值确定模块,还用于:
当所述状态捕获函数中的异常捕获函数从所述目标查询数据中捕获到异常信息时,拦截所述异常捕获函数,并确定所述异步网络请求的处理状态返回值为第一状态值,所述第一状态值用于指示所述异步网络请求的失败处理状态;否则,确定所述异步网络请求的处理状态返回值为第二状态值,所述第二状态值用于指示所述异步网络请求的成功处理状态。
可选地,所述装置还包括:
包装模块,用于所述响应于异步网络请求发起指令之前,基于所述包装函数,分别对不同的初始请求函数进行包装处理,得到所述目标请求函数;
挂载模块,用于将所述目标请求函数挂载在全局变量上,以使所述目标请求函数被成功调用。
可选地,所述装置还包括:
函数导出模块,用于所述将所述目标请求函数挂载在全局变量上之后,确定所述不同的初始请求函数所在的目标目录,并导出所述目标目录下的全部初始请求函数;
类型提取模块,用于通过类型提取关键字提取所述初始请求函数的类型,并基于声明变量关键字为每个所述初始请求函数对应的目标请求函数的全局变量添加类型声明;
存储模块,用于依据添加类型声明的全局变量生成类型声明文件,并将所述类型声明文件存储至所述目标目录对应的根目录下。
可选地,所述装置还包括:
识别模块,用于通过所述包装函数分别从所述目标查询数据中识别第一子数据、第二子数据、第三子数据以及第四子数据;将所述第一子数据作为页面渲染返回值,并当所述处理状态返回值指示所述处理状态为成功处理状态时,依据所述页面渲染返回值进行页面渲染;将所述第二子数据作为失败原因返回值,并当所述处理状态返回值指示所述处理状态为成功处理状态时,将所述失败原因返回值设置为默认值;将所述第三子数据作为接口状态码返回值,所述接口状态码返回值用于判断所述异步网络请求的执行情况;将所述第四子数据作为错误对象记录返回值,所述错误对象记录返回值用于指示错误对象;
输出模块,用于输出目标返回值,所述目标返回值包括所述处理状态返回值、所述页面渲染返回值、所述失败原因返回值、所述接口状态码返回值以及所述错误对象记录返回值。
可选地,所述装置还包括:
类型确定模块,用于基于类型声明文件,确定所述异步网络请求的目标返回值对应的类型。
可选地,所述类型提取关键字包括typeof关键字,所述声明变量关键字包括declare关键字。
需要说明的是,本申请实施例提供的一种异步网络请求的处理状态获取装置所涉及各功能单元的其他相应描述,可以参考图1至图2方法中的对应描述,在此不再赘述。
基于上述如图1至图2所示方法,相应的,本申请实施例还提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述如图1至图2所示的异步网络请求的处理状态获取方法。
基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
基于上述如图1至图2所示的方法,以及图3所示的虚拟装置实施例,为了实现上述目的,本申请实施例还提供了一种计算机设备,具体可以为个人计算机、服务器、网络设备等,该计算机设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1至图2所示的异步网络请求的处理状态获取方法。
可选地,该计算机设备还可以包括用户接口、网络接口、摄像头、射频(RadioFrequency,RF)电路,传感器、音频电路、WI-FI模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard)等,可选用户接口还可以包括USB接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如蓝牙接口、WI-FI接口)等。
本领域技术人员可以理解,本实施例提供的一种计算机设备结构并不构成对该计算机设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储介质中还可以包括操作系统、网络通信模块。操作系统是管理和保存计算机设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与该实体设备中其它硬件和软件之间通信。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现。前端可以响应于异步网络请求发起指令,接着,前端可以找到与该异步网络请求发起指令对应的目标请求函数,并调用该目标请求函数生成异步网络请求。在这里,与各个网络请求发起指令对应的目标请求函数均为通过包装函数预先包装处理过的请求函数。生成异步网络请求之后,可以将该异步网络请求发送到后端服务器当中,这样当后端服务器接收到该异步网络请求之后,可以对异步网络请求作出响应,并将响应后的目标查询数据返回给前端。由于异步网络请求是基于包装函数包装处理后的请求函数生成的,因此当前端接收到目标查询数据之后,可以将目标查询数据输入到包装函数中,包装函数中可以仅包括一组状态捕获函数。接着,可以通过状态捕获函数的执行数据确定异步网络请求的处理状态返回值。业务开发人员根据处理状态返回值即可确定异步网络请求的处理状态。本申请实施例通过将一组状态捕获函数放在包装函数中,通过包装函数对请求函数进行包装,以及对后端服务器返
回的目标查询数据进行处理得到处理状态返回值,避免了重复利用多组状态5捕获函数获取处理状态返回值的问题,一方面大大简化了代码,增加了代码的可读性,另一方面可以大大提升业务开发人员的开发效率。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实
施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置0中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
Claims (10)
1.一种异步网络请求的处理状态获取方法,其特征在于,包括:
响应于异步网络请求发起指令,调用对应的目标请求函数生成异步网络请求,所述目标请求函数为经过包装函数进行包装处理后的请求函数;
将所述异步网络请求发送至后端服务器中,并接收所述后端服务器返回的目标查询数据;
将所述目标查询数据输入至所述包装函数中,基于所述包装函数中的状态捕获函数的执行数据,确定所述异步网络请求的处理状态返回值,所述包装函数中包括一组所述状态捕获函数,所述处理状态返回值用于指示所述异步网络请求的处理状态。
2.根据权利要求1所述的方法,其特征在于,所述基于所述包装函数中的状态捕获函数的执行数据,确定所述异步网络请求的处理状态返回值,包括:
当所述状态捕获函数中的异常捕获函数从所述目标查询数据中捕获到异常信息时,拦截所述异常捕获函数,并确定所述异步网络请求的处理状态返回值为第一状态值,所述第一状态值用于指示所述异步网络请求的失败处理状态;
否则,确定所述异步网络请求的处理状态返回值为第二状态值,所述第二状态值用于指示所述异步网络请求的成功处理状态。
3.根据权利要求2所述的方法,其特征在于,所述响应于异步网络请求发起指令之前,所述方法还包括:
基于所述包装函数,分别对不同的初始请求函数进行包装处理,得到所述目标请求函数;
将所述目标请求函数挂载在全局变量上,以使所述目标请求函数被成功调用。
4.根据权利要求3所述的方法,其特征在于,所述将所述目标请求函数挂载在全局变量上之后,所述方法还包括:
确定所述不同的初始请求函数所在的目标目录,并导出所述目标目录下的全部初始请求函数;
通过类型提取关键字提取所述初始请求函数的类型,并基于声明变量关键字为每个所述初始请求函数对应的目标请求函数的全局变量添加类型声明;
依据添加类型声明的全局变量生成类型声明文件,并将所述类型声明文件存储至所述目标目录对应的根目录下。
5.根据权利要求2至4中任一项所述的方法,其特征在于,所述方法还包括:
通过所述包装函数分别从所述目标查询数据中识别第一子数据、第二子数据、第三子数据以及第四子数据;
将所述第一子数据作为页面渲染返回值,并当所述处理状态返回值指示所述处理状态为成功处理状态时,依据所述页面渲染返回值进行页面渲染;
将所述第二子数据作为失败原因返回值,并当所述处理状态返回值指示所述处理状态为成功处理状态时,将所述失败原因返回值设置为默认值;
将所述第三子数据作为接口状态码返回值,所述接口状态码返回值用于判断所述异步网络请求的执行情况;
将所述第四子数据作为错误对象记录返回值,所述错误对象记录返回值用于指示错误对象;
输出目标返回值,所述目标返回值包括所述处理状态返回值、所述页面渲染返回值、所述失败原因返回值、所述接口状态码返回值以及所述错误对象记录返回值。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
基于类型声明文件,确定所述异步网络请求的目标返回值对应的类型。
7.根据权利要求4所述的方法,其特征在于,所述类型提取关键字包括typeof关键字,所述声明变量关键字包括declare关键字。
8.一种异步网络请求的处理状态获取装置,其特征在于,包括:
函数调用模块,用于响应于异步网络请求发起指令,调用对应的目标请求函数生成异步网络请求,所述目标请求函数为经过包装函数进行包装处理后的请求函数;
请求发送模块,用于将所述异步网络请求发送至后端服务器中,并接收所述后端服务器返回的目标查询数据;
返回值确定模块,用于将所述目标查询数据输入至所述包装函数中,基于所述包装函数中的状态捕获函数的执行数据,确定所述异步网络请求的处理状态返回值,所述包装函数中包括一组所述状态捕获函数,所述处理状态返回值用于指示所述异步网络请求的处理状态。
9.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法。
10.一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310031758.0A CN116700836A (zh) | 2023-01-10 | 2023-01-10 | 一种异步网络请求的处理状态获取方法及装置、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310031758.0A CN116700836A (zh) | 2023-01-10 | 2023-01-10 | 一种异步网络请求的处理状态获取方法及装置、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116700836A true CN116700836A (zh) | 2023-09-05 |
Family
ID=87822788
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310031758.0A Pending CN116700836A (zh) | 2023-01-10 | 2023-01-10 | 一种异步网络请求的处理状态获取方法及装置、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116700836A (zh) |
-
2023
- 2023-01-10 CN CN202310031758.0A patent/CN116700836A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110221872B (zh) | 页面跳转方法、装置、电子设备和存储介质 | |
EP3455695A1 (en) | Page component dynamic layout | |
CN104049986A (zh) | 插件加载方法及装置 | |
US10191751B2 (en) | Information processing device for generating application programming interface information | |
CN110598135A (zh) | 网络请求处理方法、装置、计算机可读介质及电子设备 | |
CN113536185B (zh) | 应用页面的加载方法、存储介质、及其相关设备 | |
CN112597020A (zh) | 接口测试方法、装置、计算机设备及存储介质 | |
CN111694733A (zh) | 一种软件开发工具包sdk的api测试方法以及测试装置 | |
CN111177623A (zh) | 信息处理方法及装置 | |
JP6877343B2 (ja) | 非構造化メッセージの処理 | |
CN112395098B (zh) | 应用程序接口调用方法、装置、存储介质和电子设备 | |
CN110806913A (zh) | 网页截图方法、装置及设备 | |
CN111679828B (zh) | 一种数据处理的方法及装置、电子设备、存储介质 | |
CN111488286B (zh) | 一种Android模块独立开发的方法及装置 | |
CN111309407B (zh) | 集成第三方库的处理方法及装置 | |
CN108629182A (zh) | 漏洞检测方法及漏洞检测装置 | |
CN116700836A (zh) | 一种异步网络请求的处理状态获取方法及装置、存储介质 | |
CN116361793A (zh) | 代码检测方法、装置、电子设备及存储介质 | |
CN111782291B (zh) | 一种测试页面的启动方法和装置 | |
CN112148318B (zh) | 应用包发布方法、应用方法、装置、介质、服务器及设备 | |
CN112114870A (zh) | 一种打包代码的方法、装置、终端设备和存储介质 | |
CN108076067B (zh) | 一种授权爬虫配置化模拟登录的方法及系统 | |
CN112579275A (zh) | 任务执行方法、装置、设备及存储介质 | |
CN111723400A (zh) | 一种js敏感信息泄露检测方法、装置、设备及介质 | |
CN116644425B (zh) | 基于Javaagent的Web漏洞即时阻断方法、装置、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |