Javascript 在angularjs中从外部承诺中获取价值
我有以下代码:Javascript 在angularjs中从外部承诺中获取价值,javascript,angularjs,promise,Javascript,Angularjs,Promise,我有以下代码: generateFromID: function (icon, width, height, color) { path = []; iconData.get(icon).then(function (iconP) { var path = iconPathCache.generate(iconP); }); console.log(path); return this.generate(pa
generateFromID: function (icon, width, height, color) {
path = [];
iconData.get(icon).then(function (iconP) {
var path = iconPathCache.generate(iconP);
});
console.log(path);
return this.generate(path, width, height, color);
},
那我怎么才能找到外面的路呢
console.log(iconData.get(icon));
将导致:
Promise {$$state: Object}$$state: Object__proto__: Object
下面的代码也不起作用:
return iconData.get(icon).then(function (iconP) {
return path = iconPathCache.generate(iconP);
});
return this.generate(path, width, height, color);
有人能告诉我我做错了什么吗?对不起,但我认为您对承诺和异步一般都感到困惑 我猜从
iconda.get(icon)
获取的路径
值需要传递给this.generate
,可以通过以下方式完成:
generateFromID: function (icon, width, height, color) {
return iconData.get(icon).then(function (iconP) {
var path = iconPathCache.generate(iconP);
console.log(path);
return this.generate(path, width, height, color);
});
},
现在,generateFromID
将返回一个承诺。你说的“外部。然后”是什么意思?我认为您错过了异步执行和$q承诺的概念