使用angular-seed 项目: 在 directives.js 中
var names = [];
Animals.query(function(data){ // Animals.query() from service.js
console.log(data.Names); // output > [Object, Object..., Object]
names = data.Names; // attempt to bind to outer variable
});
console.log(names); // output > []
我可以在那里看到数据,但我需要它在函数之外。如何在函数之外获取它?控制台.log(名称);发生在 console.log(data.Names); 之前 我知道这与闭包和回调有关,我已经尝试了很多事情,但我似乎无法让它们适用于我的情况。我最终得到了一个不断扩展的函数,这些函数包裹在回调中,这些回调包裹在函数中,但仍然没有绑定到外部变量。我不想“污染全局命名空间”,但我需要保留内部函数之外的数据。最终目的是让数据可用于 d3.js 处理。必须有更简单的方法。有人可以帮我解决这个特殊情况吗?