当前位置: 首页 > 知识库问答 >
问题:

java - WebClient如何根据接口返回类型是text/event-stream则逐条返回,否则一次性全部返回?

鲁才艺
2024-07-29

我想请求别人的接口,但是我不知道它的接口返回类型是啥,所以我的需求是:如何根据接口返回类型是text/event-stream则逐条返回,否则一次性全部返回?

共有1个答案

顾琛
2024-07-29

这是你想表达的意思不?

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Fetch Example</title>
</head>
<body>
    <script>
        async function fetchAndProcess(url) {
            try {
                const response = await fetch(url);
                const contentType = response.headers.get('Content-Type');

                if (contentType && contentType.includes('text/event-stream')) {
                    // 逐条处理text/event-stream
                    const eventSource = new EventSource(url);
                    eventSource.onmessage = function(event) {
                        console.log('Received event:', event.data);
                    };
                    eventSource.onerror = function(err) {
                        console.error('EventSource failed:', err);
                        eventSource.close();
                    };
                } else {
                    // 一次性处理其他类型
                    const responseText = await response.text();
                    console.log('Received response:', responseText);
                }
            } catch (error) {
                console.error('Fetch error:', error);
            }
        }

        // 替换为你的接口URL
        const url = 'http://example.com/api';
        fetchAndProcess(url);
    </script>
</body>
</html>
 类似资料:
  • 问题内容: 我在node.js中编写一个函数来查询PostgreSQL表。 如果该行存在,我想从该行返回id列。 如果不存在,我想将其插入并返回ID()。 我一直在尝试和语句的变体,但似乎无法使其正常工作。 问题答案: 我建议在数据库端进行检查,然后将ID返回给nodejs。 例子: 而不是在Node.js端(在此示例中,我使用的是node-postgres):

  • 就说,我问题的重点是学会理解jls。我相信jls中的一切都是真的。 考虑JLS下一个片段: 8.4.8.1。重写(通过实例方法) 在类C中声明的实例方法m1重写在类A中声明的另一个实例方法m2,前提是以下所有条件均为真: C是a的一个子类。 m1的签名是m2签名的子签名(§8.4.2)。 要么: m2是公共的、受保护的或在与C相同的包中声明具有默认访问权限的,或者 m1覆盖方法m3(m3不同于m1

  • 我有下面的课,我试图测试。我遇到问题的方法是,因为我试图存根/模拟行为,然后在测试中验证行为。

  • 我写了自己的类加载器,它与类一起工作,实现了接口插件。但是我不能将类转换为插件。怎么了? 错误:(18,47)java:不兼容的类型:java。lang.类无法转换为插件 我补充说,这是我的SimpleClassLoader类的主要部分,它扩展了ClassLoader。

  • 如果对于树中的每个非叶节点,存储在该节点的数字小于或等于存储在其每个子节点的数字,则二叉树称为堆(或者,称为满足堆属性)。例如,下面的树满足heap属性,因为3≤ 5, 5 ≤ 8和5≤ 7. 另一方面,下面的树不满足堆属性,因为6不小于或等于5。 示例: 任何帮助都将得到认可。

  • 编写一个方法,根据字符(char)[输入]是否是要编码的有效字符,返回true或false。即,如果输入[输入字符]为'a'-'z'或'a'-'z',则返回true,否则返回false。 为什么我的答案错了???? 公共静态布尔isValidChar_Q1(char chr){ }

  • 问题内容: 当用Java编程时,我几乎总是出于习惯,编写如下代码: 大多数时候甚至都没有考虑它。现在,问题是:我应该 始终 将接口指定为返回类型吗?还是建议使用接口的实际实现,如果是,在什么情况下使用? 显然,使用该接口有很多优点(这就是为什么它存在的原因)。在大多数情况下,库函数使用哪种具体实现并不重要。但也许在某些情况下确实很重要。例如,如果我知道我将主要随机访问列表中的数据,那将是一个坏习惯

  • 在那里,我被告知接口和抽象类除了方法签名(名称、参数)和返回类型之外没有实现/方法体,所以通常我们写: 然而,我想知道我们能不能这样写: 因为它表明,当我们创建接口或抽象类时,返回类型可以在方法中