【发布时间】:2014-11-20 02:42:28
【问题描述】:
我需要返回我的行为,但它不起作用
function getBehaviorList() {
var behaviors = getBehaviors();
console.log("Making behavior list");
console.log(behaviors);
$.each(behaviors, function (index, value) {
if (value.indexOf("User/.lastUploadedChoregrapheBehavior") < 0) {
$('#installedBehaviors tr:last').after('<tr><td>' + value.split('/').pop() + '</td><td><a href="#" class="btn btn-default" id="' + value + '"><span class="text-color-green glyphicon glyphicon-play-circle"></span> Start</a></td></tr>');
}
});
$("#installedBehaviors a").click(function () {
startBehavior(this);
});
}
function getBehaviors() {
console.log("Getting behaviors");
session.service("ALBehaviorManager").done(function (behaviorManager) {
behaviorManager.getUserBehaviorNames().done(function (behaviors) {
behaviors;
console.log(behaviors);
return behaviors;
});
}).fail(function (error) {
console.log("An error occurred: ", error);
});
}
这是我在控制台中遇到的错误
获取行为
制作行为列表
未定义
未捕获的类型错误:无法读取未定义的属性“长度”
["User/.lastUploadedChoregrapheBehavior/test","User/actura-test/test", "User/check-update", "User/follow-me"]
有人知道为什么吗?
【问题讨论】:
-
您不能从函数内部的回调中间返回值。这很可能是一个异步调用(实际上是 2 个嵌套的异步调用)。
-
有什么方法可以制作出来吗?
标签: javascript jquery arrays return