国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

關(guān)于webman請求問題

mings

問題描述

現(xiàn)在手上有個項目,數(shù)據(jù)均為通過http查詢第三方再返回給客戶端。
其中有兩個產(chǎn)品查詢的API,對方文檔建議通過如下方式調(diào)用:
1、並行發(fā)起兩個或以上查詢;
2、當(dāng)獲取到status=complete或超出3秒終止查詢。

實際上現(xiàn)在測試出結(jié)果如下:
第一次請求----500ms,返回結(jié)果空,status=in-process
第二次請求----900ms,返回結(jié)果空,status=in-process
.....
第五次請求----3000ms,返回10條數(shù)據(jù),status=complete

想咨詢,
如何通過webman如何能同時發(fā)出2個并行請求,并且需要限制總請求時間,還有需要把結(jié)果返回給前端?
nodeJs下我想到的方法如下:

const getList = (keyword) => {
    retrun new Promise(resolve => {
        fetch(`/resource-list/${keyword}`).then(res => {
            if(res.status === 'complete'){
                resolve(res)
            }else{
                setTimeout(async () => {
                    resolve(await getList(keyword))
                },250)
            }
        })
    })
}
const race = Promise.race([
    getList('aaa'),
    getList('aaa'),
    new Promise((resolve,reject) => {
        setTimeout(() => reject(new Error('request timeout')),3000)
    })
])

2、另外想咨詢下,如果部分?jǐn)?shù)據(jù)為第三方提供,部分?jǐn)?shù)據(jù)為數(shù)據(jù)庫查詢,大家有好的方法進行數(shù)據(jù)匯聚嗎?(主要考慮分頁問題)

1166 1 1
1個回答

mings

問題一已經(jīng)解決了。暫時使用nodeJs代理請求,
nodeJs處理第三方api查詢,類似上面的偽代碼,限制了3s內(nèi)必定返回或返回部分查詢結(jié)果。
整體流程大概是:client -> webman(curl) -> nodeJs(local) -> API;
論壇上也找到了一些相關(guān)的,如通過webman的process自定義進程進行查詢或者通過swoole驅(qū)動,或通過reactPHP來達到目的,但由于對以上不熟悉,不知道是否可以類似nodeJs這樣去弄,所以放棄了。

問題二:暫時還是想不到什么好的解決方案。

  • 暫無評論
年代過于久遠,無法發(fā)表回答
??