之前的博客介紹過,JS如何通過web api調用action。在action的參數類型中有很多種,如下圖所示,紅框中圈出來的我們稱之爲複雜類型,剩餘的我們稱之爲簡單類型。
本次的分享針對的是返回參數是複雜類型的,比如下面這個簡單的全局action,我定義了一個簡單類型輸入參數和一個簡單類型輸出參數和一個複雜類型的輸出
當我們在js中用web api對其調用時會報錯,錯誤如下圖,當然action肯定是存在的,並且插件註冊器中的step也註冊完好
爲了驗證我們的action是真實存在並且是沒問題的,我們通過組織服務用server端的OrganizationRequest進行調用,結果返回了預期的值。
然後我們測試了返回單獨一個複雜參數類型
通過postman調用了下,能夠返回預期的值
最後再測下多個複雜類型的返回參數
結果一樣是報錯
經過多輪的測試驗證,可以得出結論,在JS中通過Web Api去調用自定義Action,當返回參數是簡單類型和複雜類型混合,或者是多個複雜類型時,調用均會報錯,也就是說這兩種情況的產生是一個BUG,而當返回參數是簡單類型,或者是僅返回單個負責類型的參數時是正常的。