转换角$ q.defer()。承诺Angular 5

时间:2018-06-18 15:22:36

标签: angular5 deferred

我意识到我可以确保Promise.resolve转换Angular JS $ q.defer()逻辑。但是,我遇到了以下问题:

Original Angular JS:

service.validValues = function(id,name) {
    var deferred = $q.defer();
    $q.all([service.check_id(id), service.check_name(name)]).then(
        function(student){
            service.validStud(student[0], student[1]).then(function(valid) {
                deferred.resolve(valid);
            });
        });
    return deferred.promise;
};

我的代码:

validValues(id, name) {
    let deferr = new Promise(deferred);
    function deferred(resolve, reject) {
        Observable.forkJoin([this.check_id(id), this.check_name(name)]).subscribe((student) => {
        this.validStud(student[0], student[1]).then(function(valid) {
            resolve(valid);
            });
        });
     return deferr;
}

是不是错了?因为我从来没有得到有效的值。虽然代码可以编译但我总是得到" undefined"为了推迟'当我做一个console.log。

非常感谢你!

0 个答案:

没有答案