Javascript 如何将异步等待响应传递给Vue?
嗨,我想问一些问题, 我在页面上使用async Wait加载一系列图像,问题是我无法从async函数传递响应 这是我的密码: 在我的页面视图中,我有一个项目循环:Javascript 如何将异步等待响应传递给Vue?,javascript,vue.js,async-await,Javascript,Vue.js,Async Await,嗨,我想问一些问题, 我在页面上使用async Wait加载一系列图像,问题是我无法从async函数传递响应 这是我的密码: 在我的页面视图中,我有一个项目循环: <div class="grid-x" v-for="(item, index) in cart_item_list"> <div class="cell"> <div class="grid-x grid-margin-x cart-summary">
<div class="grid-x" v-for="(item, index) in cart_item_list">
<div class="cell">
<div class="grid-x grid-margin-x cart-summary">
<div class="cell large-3 small-4 shrink cart-summary-image-container">
{% comment %} <img src="https://via.placeholder.com/96x96.png" @click="processCartSummaryImage(item.product_details.images)" /> {% endcomment %}
<img :src="processCartSummaryImage(item.product_details)" />
<div style="display:none">Product ID: !! item.product_details.id !!</div>
<div style="display:none">Parent Product SKU: !! item.product_details.properties.parent_product_sku !!</div>
</div>
</div>
</div>
</div>
下面是控制台日志的结果
在我的img来源上,我只得到了目标承诺
你能帮我吗?你不需要使用
wait
和然后<代码>。然后
用于在承诺解决后运行某些内容,但您已经在等待它了
getProductImage: async function(sku) {
return await axios({
method: 'get',
url: `/api/cart/get_product_main_detail.json?filter_sku=${ sku }`
})
.then(function(response) {
//console.log('resp: ', response.data.response.image_1.url);
return response.data.response.image_1.url;
})
.catch(function (error) {
//console.log(error);
return placeholder;
});
},
尝试将上面的内容更改为下面的内容
getProductImage: async function(sku) {
try
{
let response = await axios({
method: 'get',
url: `/api/cart/get_product_main_detail.json?filter_sku=${ sku }`
});
return response.data.response.image_1.url;
}
catch(error) {
return placeholder;
}
},
谢谢,我还在学习这种方法。我很高兴你能帮我识别我的错误。:)我仍然得到同样的结果(抱歉,我误解了您的问题。您所尝试的是不可能以解释的当前形式进行的。您可以将上的所有图像装入并将其添加到购物车项目列表中的项目中,或者制作您自己的组件。这是否回答了您的问题?
getProductImage: async function(sku) {
try
{
let response = await axios({
method: 'get',
url: `/api/cart/get_product_main_detail.json?filter_sku=${ sku }`
});
return response.data.response.image_1.url;
}
catch(error) {
return placeholder;
}
},