gpt4 book ai didi

javascript - Angular JS : Cannot read property 'then' of undefined

转载 作者:行者123 更新时间:2023-12-03 05:43:47 25 4
gpt4 key购买 nike

我不确定我在这里做错了什么 -

function clearBefore(val) {
if (val.isEnrolled && val.name === 'XYZ') {
vm.clear(val, 'Hello').then(function(value){
return value;
});
return true;
}
}

然后调用它 -

clearBefore(val).then(function (returnVal) {});

我是 Promise 新手,请让我知道应该如何更新该函数以返回 Promise。

最佳答案

在“if”内,您返回“true”,在“if”外,您不返回任何内容,因此您不能使用clearBefore()的返回作为 promise 。

也许这就是你想要的:

function clearBefore(val) {
if (val.isEnrolled && val.name === 'XYZ') {
return $q.resolve(vm.clear(val, 'Hello'));
}

return $q.reject();
}

clearBefore(val).then(
function(val) {
console.log('ok', val);
},
function() {
console.log('not ok...');
}
);

现在函数的每个返回点都会返回一个 promise 。我们在“if”内部有一个 $q.resolve() ,在外部有一个 $q.reject() 以返回失败的 Promise。

关于javascript - Angular JS : Cannot read property 'then' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40410053/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com