【发布时间】:2019-09-08 08:59:04
【问题描述】:
这是 Javascript 中的一个函数,我需要通过订阅检查 Angular 服务是否包含数组,但返回值未定义,因为该函数不会更改订阅内的变量值。
function checkAvailableBonus() {
var dataSize = 0;
var returnValue = "false";
window.angularComponentRef.component.slotsBonusesService.getPlayerAvailableBonuses().subscribe(function (data) {
dataSize = data.length;
if (dataSize !== 0) {
returnValue = "true";
} else {
returnValue = "false";
}
});
return (returnValue);
}
checkAvailableBonus();
除了订阅完成后返回“true”/“false”的函数。
【问题讨论】:
-
这个问题被问了多次,订阅是异步的。
-
请注意,Observables 本身并不是异步的。只有当我们在流中执行微任务或宏任务时,它才会变成异步的。例如,
of(1, 2, 3)不会是异步的。
标签: javascript angular function return subscribe