catchError杀死并行记录的蒸汽

时间:2020-01-28 17:41:59

标签: javascript rxjs

我有可以并行调用Api网址的服务。

然后我将捕获url错误(服务器错误,超时等)

CASE

问题在于,当它检测到第一个超时时,mergeMap 停止并且不处理其他呼叫。 Each GROUP BY expression must contain at least one column that is not an outer reference.杀死流或网址。

我想知道如何创建多个流,以便当一个URL发生错误时,服务继续对待其他URL?

更新

实际上,我可以使用Group By而不是SELECT A.HRS_PERSON_ID, A.HRS_RCMNT_ID , A.HRS_OFF_ID , A.POSITION_NBR , (CONVERT(CHAR(10) ,A.OFFER_DT ,121)) , (CONVERT(CHAR(10) ,A.HRS_PROP_ST_DT ,121)) , (CONVERT(CHAR(10) ,A.HRS_OFR_DT_EXP ,121)) , A.HRS_ONLN_OFR_POSTD , A.JOBCODE , A.HRS_HIRING_MGR_ID , A.RECRUITER_ID , A.WC_COUNCIL_ID , B.OFFER_AMT , B.CURRENCY_CD , B.OFFER_FREQUENCY , B.ERNCD , B.EARNS_AMT , B.LOCATION , C.OFFER_COMPONENT , (CONVERT(CHAR(10) ,C.EFFDT ,121)) , C.DESCR , C.DESCRSHORT , C.OFFER_TYPE , C.MONETARY_IND , D.APP_PER_STATUS , D.EMPLID , D.HRS_EXT_TRN , D.POI_TYPE , F.COUNTRY_NM_FORMAT , F.NAME , F.NAME_INITIALS , F.NAME_PREFIX , F.NAME_SUFFIX , F.NAME_ROYAL_PREFIX , F.NAME_TITLE , F.LAST_NAME , F.FIRST_NAME , F.MIDDLE_NAME , F.NAME_DISPLAY , F.NAME_FORMAL , E.ADDRESS_TYPE , E.COUNTRY , E.ADDRESS1 , E.ADDRESS2 , E.ADDRESS3 , E.ADDRESS4 , E.CITY , E.NUM1 , E.NUM2 , E.HOUSE_TYPE , E.COUNTY , E.STATE , E.POSTAL , G.DESCR , B.SEQUENCE_NUMBER , H.HRS_DESCR , J.HRS_JOB_OPENING_ID , I.DESCR , I.ADDRESS1 , I.CITY , I.STATE , I.POSTAL , M.DESCR , N.DESCR , M.SAL_ADMIN_PLAN, M.STEP_FROM, (CONVERT(CHAR(10),SUBSTRING(CONVERT(CHAR,GETDATE(),121), 1, 10),121)), M.SEC_CLEARANCE_TYPE, ---BELOW IS MY CASE STATEMENT I CREATED: CASE WHEN EXISTS ( SELECT OFFER_COMPONENT FROM PS_HRS_OFF_CMPNT_I WHERE OFFER_COMPONENT = C.OFFER_COMPONENT AND OFFER_COMPONENT = B.OFFER_COMPONENT AND OFFER_COMPONENT = 'PROB' GROUP BY A.HRS_PERSON_ID ) THEN 'Y' ELSE 'N' END AS 'PROB_CODE' ---END OF MY CASE STATEMENT--- FROM PS_HRS_OFFER_I A LEFT OUTER JOIN PS_PERSONAL_PHONE P ON P.EMPLID = A.RECRUITER_ID AND P.PHONE_TYPE = 'BUSN' LEFT OUTER JOIN PS_HRS_HIRE Q ON A.HRS_PERSON_ID = Q.HRS_PERSON_ID AND A.HRS_RCMNT_ID = Q.HRS_RCMNT_ID LEFT OUTER JOIN PS_GH_ENRLMNT_TBL R ON R.EMPLID = Q.EMPLID LEFT OUTER JOIN PS_GH_SESSION_TBL S ON R.GH_SESSION_ID = S.GH_SESSION_ID , PS_HRS_OFF_DTL_I B, PS_HRS_OFF_CMPNT_I C, PS_HRS_APPLICANT D, PS_HRS_APP_NAME_I F LEFT OUTER JOIN PS_HRS_APP_ADDR_I E ON F.HRS_PERSON_ID = E.HRS_PERSON_ID LEFT OUTER JOIN PS_STATE_TBL G ON G.STATE = E.STATE AND G.COUNTRY = E.COUNTRY , PS_HRS_PAYMODE_VW H, PS_LOCATION_TBL I, PS_HRS_RCMNT J, PS_HRS_JOB_OPENING K, PS_HRS_JO_RQMT L, PS_POSITION_DATA M, PS_DEPT_TBL N, PS_EMPLOYEES O WHERE C.OFFER_COMPONENT = B.OFFER_COMPONENT AND A.HRS_PERSON_ID = B.HRS_PERSON_ID AND A.HRS_RCMNT_ID = B.HRS_RCMNT_ID AND A.HRS_OFF_ID = B.HRS_OFF_ID AND A.HRS_PERSON_ID = D.HRS_PERSON_ID AND A.HRS_PERSON_ID = F.HRS_PERSON_ID AND C.OFFER_COMPONENT = H.OFFER_COMPONENT AND I.LOCATION = A.BUSINESS_UNIT AND A.HRS_PERSON_ID = J.HRS_PERSON_ID AND A.HRS_RCMNT_ID = J.HRS_RCMNT_ID AND K.HRS_JOB_OPENING_ID = J.HRS_JOB_OPENING_ID AND K.HRS_JOB_OPENING_ID = L.HRS_JOB_OPENING_ID AND M.POSITION_NBR = A.POSITION_NBR AND O.EMPLID = A.RECRUITER_ID AND A.HRS_PERSON_ID = 91998 AND A.HRS_RCMNT_ID = 305223 ,但是我无法捕获父侦听器中的错误(ngrx效果),结果将被{{1}占用}。这不是一个好习惯

0 个答案:

没有答案
相关问题