@@ -3,7 +3,10 @@ import { $getConfig } from "../variable/Config";
33import { $getContext } from "../variable/Context" ;
44import { response } from "../../infrastructure/variable/Response" ;
55import { execute as queryStringParserService } from "../service/QueryStringParserService" ;
6- import { execute as requestUseCase } from "../../infrastructure/usecase/RequestUseCase" ;
6+ import {
7+ execute as requestUseCase ,
8+ getRequests
9+ } from "../../infrastructure/usecase/RequestUseCase" ;
710import { execute as executeCallbackUseCase } from "./ExecuteCallbackUseCase" ;
811import { execute as responseRemoveVariableUseCase } from "../../infrastructure/usecase/ResponseRemoveVariableUseCase" ;
912import { ViewBinderService } from "../../domain/service/ViewBinderService" ;
@@ -53,7 +56,8 @@ export const execute = async (
5356 * 前の画面で取得したレスポンスデータを初期化
5457 * Initialize the response data obtained on the previous screen
5558 */
56- responseRemoveVariableUseCase ( application . currentName ) ;
59+ const previousRequests = getRequests ( application . currentName ) ;
60+ responseRemoveVariableUseCase ( previousRequests ) ;
5761
5862 /**
5963 * 指定されたパス、もしくはURLからアクセス先を算出
@@ -87,15 +91,23 @@ export const execute = async (
8791 const responses = await requestUseCase ( application . currentName ) ;
8892
8993 /**
90- * レスポンス情報をマップに登録
91- * Response information is registered on the map
94+ * レスポンス情報をマップに登録し、コールバックを実行
95+ * Register response information on the map and execute callbacks
9296 */
9397 for ( let idx = 0 ; idx < responses . length ; ++ idx ) {
9498
9599 const object = responses [ idx ] ;
96100 if ( object . name ) {
97101 response . set ( object . name , object . response ) ;
98102 }
103+
104+ /**
105+ * リクエストごとのコールバック処理を実行
106+ * Execute callback for each request
107+ */
108+ if ( object . callback ) {
109+ await executeCallbackUseCase ( object . callback , object . response ) ;
110+ }
99111 }
100112
101113 if ( hasLoading ) {
0 commit comments