如何从节点请求创建 RxJs Observable

How to create an RxJs Observable from a 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();
                }
            });
        });

是否有 shorthand 方法可以使用 RxJs 库(或其他库)做到这一点?

这是我的解决方案:

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

function toResponseOnly(response) {
    return response;
}

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