我有一个在netty服务器上运行的Spring 5 webflux上构建的反应式流api,其语法如下-
@RequestMapping(path = "/customer/messages/stream", method = RequestMethod.POST, produces = MediaType.APPLICATION_STREAM_JSON_VALUE)
public Flux<Messages> fetchAllMessagesForCustomer(@RequestBody CustomerRequest)
现在可以从我的本机应用程序中使用它了,我尝试使用fetch Api,但是由于react-native issue而无法使用。所以我尝试使用旧的xhr
xhr.onreadystatechange = function() {
console.log("state change.. state: "+ xhr.readyState);
if(xhr.readyState == 3) {
var newData = xhr.response.substr(xhr.seenBytes);
console.log("newData", newData);
xhr.seenBytes = xhr.responseText.length;
}
};
这在某种程度上有效,但是具有以下问题
xhr.responseText
本质上会附加所有流,并保持增长,这似乎是 anti-pattern ,因为整个想法是将巨大的响应分解为较小的块并单独使用。< / li>
在react-native中是否有其他好的方法来处理流式响应?欢迎提出建议。