我意识到我可以确保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。
非常感谢你!