2016-06-07 129 views
1

我有下面的代码,我试图用一个函数的返回值来初始化一个对象的属性。用返回值初始化对象

$scope.data = { 
    trackingItemStatus: { 
    options: SPListUtility.GetChoiceOptionsJson(), 
    defaultOption: {value: 'Active', text: 'Active'} 
    } 
} 

右键从我的服务上面我日志变量返回前要返回,它是回来了如下所以我知道这应该是工作:

[{"text":"Active","value":"Active"},{"text":"Closed","value":"Active"},{"text":"On-Hold","value":"On-Hold"},{"text":"Resolved","value":"Resolved"}] 

我觉得这应该是简单。我只是想将我的函数的返回值赋给data.item.options,但它不会工作,只是不断返回空。我在这里错过了很明显的东西吗

+3

后的*真正*代码。你在做什么应该工作,除非你做错了什么。但是,除非发布实际代码,否则我们无法确定。另外,如果您在控制台中发现错误,那也是非常有用的。 – Pointy

+0

也许'someFuncThatReturnsArray()'返回一个Promise,并且你正在测试它的解析值? –

+0

这就是问题所在,它回复了一个承诺,谢谢! –

回答

3

这可能是因为调用SPListUtility.GetChoiceOptionsJson()返回一个承诺,在这种情况下,你必须解决的返回值,就像这样:

SPListUtility.GetChoiceOptionsJson().then(function (value) { 
    $scope.data = { 
    trackingItemStatus: { 
     options: value, 
     defaultOption: {value: 'Active', text: 'Active'} 
    } 
    }; 
});