【问题标题】:why bindCallback is not a function?为什么 bindCallback 不是函数?
【发布时间】:2016-09-27 06:30:12
【问题描述】:

您好,我正在使用这个 rxjs 库。我收到此错误 Rx.Observable.bindCallback 不是函数

这是我的代码 http://jsbin.com/tuxucotake/edit?html,js,console,output

我正在从这里阅读文档 http://reactivex.io/rxjs/class/es6/Observable.js~Observable.html

var getJSONAsObservable = Rx.Observable.bindCallback(jQuery.getJSON);
var result = getJSONAsObservable('http://mysafeinfo.com/api/data?list=englishmonarchs&format=json');
result.subscribe(x => console.log(x), e => console.error(e));

【问题讨论】:

  • 这与 Angular2 有什么关系?
  • @angular2 为什么用了 rxjs
  • Angular2 使用 RXJS 5。
  • 能否请您分享 rxjs 5 链接或更新我的 jsbin 或 plunker
  • 我认为 rxjs 5 处于测试阶段

标签: javascript rxjs rxjs5


【解决方案1】:

您使用的是 RXJS 4,但您链接到的文档是 RXJS 5

【讨论】:

【解决方案2】:

基于@Günter Zöchbauer 的答案,bindCallback() 不再是Observable 的一部分,因此当前版本的 RxJs (6) 的正确用法是:

jsbin

html

<!DOCTYPE html>
<html>
    <head>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width">
      <script src="https://cdnjs.cloudflare.com/ajax/libs/rxjs/6.5.4/rxjs.umd.min.js"></script>
      <script src="https://code.jquery.com/jquery-2.2.4.js"></script>
      <title>JS Bin</title>
    </head>
    <body>
    </body>
</html>

js

var getJSONAsObservable = rxjs.bindCallback(jQuery.getJSON);
var result = getJSONAsObservable('https://mysafeinfo.com/api/data? list=englishmonarchs&format=json');
result.subscribe(
  ([data,textStatus,jqXhr]) => console.log(data), 
  e => console.error(e));

分别针对节点:

const Rx = require('rxjs')
const {bindCallback} = Rx;
var getJSONAsObservable = bindCallback(jQuery.getJSON);
....

【讨论】:

    猜你喜欢
    • 2021-09-09
    • 2019-10-12
    • 2019-05-25
    • 2021-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多