javascript - 如何从 Node 请求创建 RxJs Observable

标签 javascript node.js rxjs rxjs5 node-request

目前可以显式创建一个可观察对象,如下所示:

const Rx = require("rxjs");
const request = require("request");

        return Rx.Observable.create(function (observer) {
            request(options, function (error, response, body) {
                if (error) {
                    observer.error(error);
                } else {
                    observer.next(response);
                    observer.complete();
                }
            });
        });

是否有一种简写方法可以使用 RxJs 库(或其他库)来执行此操作?

最佳答案

这是我的解决方案:

    return (options) => {
        const boundCallback = Rx.Observable.bindNodeCallback(request, toResponseOnly);
        return boundCallback(options);
    };

function toResponseOnly(response) {
    return response;
}

需要第二个函数来确保仅传递响应,否则回调的参数将作为数组传递。

关于javascript - 如何从 Node 请求创建 RxJs Observable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43911353/

相关文章:

javascript - 如何更改 google 可视化表及其列的 css 属性?

javascript - 只有一次ajax调用,等到下一次点击成功

javascript - 使用 JavaScript ES6 模块进行离线首次设计

node.js - 从 Koa Controller 操作返回 promise 错误

javascript - Angular2 表单控件 valueChanges 可观察完成从未调用

javascript - 清理 json 包含和使用

node.js - 使用身份验证用户名/密码nodejs连接到托管redis

javascript - 从自身内部重启 Node 进程

RxJS 等待 observable 完整完成

angular - 一个完整的 observable 会发生什么?如果我订阅一个完整的 observable 怎么办?