aurelia js中的回调函数

时间:2016-11-24 15:59:44

标签: aurelia aurelia-binding aurelia-event-aggregator

aurelia js的新手。在这里,我需要在aurelia js做回调。 这是我试过的代码, 的 file.js

this.commonFunctions.get_alrdyShrdUser(this.alrdyshardAry,function(err,result){
        if(!err){
            console.log("err,result",err,result);
            this.sharedAlrdy =  result;
        }else{

        }
    });

commonFunctions

get_alrdyShrdUser(docids,callback){
     this.httpValueConverter.call_http('sharing/users/list','POST',docids,'test')
        .then(data => {
        if(data.meta && data.meta.statusCode == 200) {
        return callback(null,data.sharedUsers)
        }
    });
}

这里一切正常,回调函数也返回值,但我无法为aurelia varibale( this.sharedAlrdy )赋值。它抛出错误,无法设置属性' sharedAlrdy'未定义。那还有其他方法吗?

1 个答案:

答案 0 :(得分:0)

这与Aurelia无关。您只是遇到this的典型JavaScript问题。

由于您使用的是Aurelia,我认为这是ES6代码并且您具有箭头功能支持。在函数回调中使用箭头函数,捕获this时不会遇到问题:

this.commonFunctions.get_alrdyShrdUser(this.alrdyshardAry, (err, result) => {
    if (!err) {
        console.log("err, result", err, result);
        this.sharedAlrdy = result;
    } else {

    }
});

有关箭头功能和this的详细信息,请查看MDN