0
私は製品コンポーネントと製品所有者コンポーネントを持っています。各製品には、私はAPIエンドポイントを呼び出すことにより、製品のリストを受け付けておりますVueJS Promiseが失敗しています
やろうとしていますどのような所有者に
を持つことになります。約束が解決されたら、私は製品のリストを持っています。各製品にはOwnerIDがあります。私は別のAPIエンドポイントを呼び出して、所有者の名前を取得し、それを反復されている現在の製品に割り当てようとしています。
マイコードこれまで私は、私は次のエラー
Uncaught TypeError: Cannot read property 'then' of undefined
Uncaught (in promise) TypeError: Promise resolver undefined is not a function(…)
を得続けることをやろうとしていたときに、私は今
に直面しています
<script>
var config = require('../config');
export default {
data() {
return {
products: [],
}
},
ready() {
this.getProducts().then(t => {
console.log(t);
});
},
methods : {
getProducts : function() {
let url = config.API.GetProduct
this.$http.get(url).then(response=> {
this.products = response.data.resource;
var p = this.products.map(this.getOwner);
return Promise.all(p);
}, error=> {
console.error("An error happened!")
});
},
getOwner : function(product) {
let url = config.API.GetProductOwnerName.replace('[$$$]', product.OwnerID);
var p = new Promise();
this.$http.get(url).then(response => {
product.OwnerID = response.data.resource[0].OwnerName;
p.resolve(currentObj);
});
return p;
}
}
components: {}
}
</script>
エラー誰かが私がここで間違っていることを教えてもらえますか?
ありがとうございました
ありがとうございます。しかし、私はまだ同じ問題を抱えています。 – Gagan
@Gaganは私にとってはうまく見えます。https://jsfiddle.net/3q5cwuha/ – Hkan
あなたのコードを見ました。その方法でも私のコードが動作しています。私が本当にやりたいことは、私がIMOに約束した商品をたくさん持っているからです。あなたのケースでは、非常に小さなオブジェクトのため、約束が迅速に解決され、メッセージが表示されます。私は間違っているかもしれませんが、それは私の考えです。 – Gagan