Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Observable.bindCallback方法中使用RXJS选择器函数?_Javascript_Angular_Rxjs_Observable - Fatal编程技术网

Javascript 如何在Observable.bindCallback方法中使用RXJS选择器函数?

Javascript 如何在Observable.bindCallback方法中使用RXJS选择器函数?,javascript,angular,rxjs,observable,Javascript,Angular,Rxjs,Observable,我认为,要在使用Observable.bindCallback方法时将两个参数正确映射回回调,必须使用“selector”函数,但我找不到说明如何执行此操作的文档。我可能对选择器函数的功能有误解,但它仍然应该被记录下来 subscribe函数只能接受一个参数。因此,选择器函数是关于将多参数回调转换为单个元素的。通常,这意味着您将把参数打包到一个对象中,以后可以对其进行分解: function testLogin(username, password, callback){ // ...

我认为,要在使用
Observable.bindCallback
方法时将两个参数正确映射回回调,必须使用“selector”函数,但我找不到说明如何执行此操作的文档。我可能对选择器函数的功能有误解,但它仍然应该被记录下来


subscribe
函数只能接受一个参数。因此,
选择器
函数是关于将多参数回调转换为单个元素的。通常,这意味着您将把参数打包到一个对象中,以后可以对其进行分解:

function testLogin(username, password, callback){
    // ...
    callback(param1, param2);
}

//Convert this into a new object
function selectorFunction(param1, param2) {
    return {param1, param2};
}

function onTestLoginComplete(param1, param2) {
     // ...
}

var observableFactory = Observable.bindCallback(testLogin, selectorFunction);
var observable = observableFactory('username', 'password');
//De-structure the argument when it is passed to subscribe.
observable.subscribe( ({param1, param2}) => onTestLoginComplete(param1, param2) );
function testLogin(username, password, callback){
    // ...
    callback(param1, param2);
}

//Convert this into a new object
function selectorFunction(param1, param2) {
    return {param1, param2};
}

function onTestLoginComplete(param1, param2) {
     // ...
}

var observableFactory = Observable.bindCallback(testLogin, selectorFunction);
var observable = observableFactory('username', 'password');
//De-structure the argument when it is passed to subscribe.
observable.subscribe( ({param1, param2}) => onTestLoginComplete(param1, param2) );