从html调用check(),返回值应为true / false。
ng-class="{'timeline-inverted: check(id)'}"
$scope.server.get()
从服务器脚本获取result(r)
,我需要将$scope.result
返回到check()
函数。
这是我的角度代码:
$scope.check = _.memoize(function(userId) {
$scope.server.get({
action: 'checkif',
userID: userId
}).then(function successHandler(r) {
$scope.result = r.data.result;
});
return $scope.result; // $scope.result is undefined
});
答案 0 :(得分:1)
创建一个新的Promise,而不是在HTTP调用成功后解析。
$scope.check = _.memoize(function(userId) {
return new Promise((resolve, reject) => {
$scope.server.get({
action: 'checkif',
userID: userId
}).then(function successHandler(r) {
resolve(r.data.result);
});
});
});
答案 1 :(得分:0)
首先,使用memoize并不是一件好事。 memoized完全正常,因为参数具有原始类型。由于您调用了API,因此无法确定同一组apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: gateway-preprod
spec:
replicas: 1
strategy:
type: RollingUpdate
minReadySeconds: 50
template:
metadata:
labels:
app: gateway-preprod
spec:
containers:
- name: gateway-preprod
image: eu.gcr.io/writecontrol-1055/gateway:v305
env:
- name: writecontrolEnv
value: preprod
ports:
- containerPort: 80
& userId
参数!
我不知道为什么您的action
来电被绑定到$http
。也许最好把这些东西放在服务中。最后,您的应用程序可能看起来像这个结构良好的应用程序:
$scope