Promise.resolve 的 rxjs 6 中的等价物是什么

What is an equivalent in rxjs6 of Promise.resolve

我正在尝试在异步调用 websql api 后解决问题。 现在我正在 returning 一个 Promise 并且它正在工作。然而,出于某些设计原因,我想用 rxjs6 observables 来做。 你知道如何使用 rxjs 实现相同的行为吗?

请注意 tx.executeSqlwebsqlDatabase.transaction return 无效,我无权访问这些函数的代码。

提前致谢

    return new Promise((resolve, reject) => {
        this.websqlDatabase.transaction(tx => {
          tx.executeSql(statement, params, (transaction, results) => {
            resolve(results);
          }, (transaction, error) => {
            reject(error);
          });
        });
    });

像处理 promise 一样创建一个新的可观察对象,然后调用 observable.next(<var>) 将结果通过管道传递给订阅的对象。确保您还调用 observable.complete() 来通知可观察者管道可以关闭。

这段代码相当于上面代码的rxjs:

import { Observable } from 'rxjs';

const observable = new Observable(observer => {
    this.websqlDatabase.transaction(tx => {
        tx.executeSql(statement, params, (transaction, results) => {
            observable.next(results);
            observer.complete();
        }, (transaction, error) => {
            observable.error(error);
        });
     });
});

observable.subscribe(value => console.log(value));