【发布时间】:2018-10-12 06:03:01
【问题描述】:
我有一个名为 Basket 的简单类,我想用 ajax 方法设置我的产品。请看下面的例子:
class Basket
{
constructor()
{
this.products = [];
this.setProducts();
console.log(this.products); // still empty
}
setProducts()
{
var self = this;
$.ajax({
'url': getProductsUrl,
'method': 'GET',
success: function(resp) {
console.log(resp.products); // I can see products returned from api
self.products = resp.products
},
error: function(resp) {
// err
}
});
}
问题是产品没有设置。 resp.products 变量以正确的 json 格式返回。
【问题讨论】:
-
如果产品被记录,那么它们被分配给
self。为什么你说他们没有设置?另外,如果你使用Class,你应该使用箭头函数而不是self = this -
@CertainPerformance 产品无法记录,因为它们当时还没有被检索到还
-
但是你的评论说
// I can see products returned from api。那个评论真的不是真的吗? (如果不是,最好将其删除以清楚起见)
标签: javascript ecmascript-6 es6-class