Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript MVC:如何记录model';控制器中的属性';s构造函数,假定模型';是否异步获取s属性?_Javascript_Model View Controller - Fatal编程技术网

Javascript MVC:如何记录model';控制器中的属性';s构造函数,假定模型';是否异步获取s属性?

Javascript MVC:如何记录model';控制器中的属性';s构造函数,假定模型';是否异步获取s属性?,javascript,model-view-controller,Javascript,Model View Controller,我正在尝试在我的应用程序中应用MVC设计模式 但是,我不确定为什么控制器的构造函数中的this.logActivites()的输出是未定义的。不过,在加载页面后,我可以从控制台轻松地执行app.logActivities() 是否因为(出于某种原因)数据尚未提取?我怎样才能解决这个问题 类模型{ 构造函数(){ 这是getActivities() 。然后(json=> this.activities=json.activities ) } 异步getActivities(){ 常量url=htt

我正在尝试在我的应用程序中应用MVC设计模式

但是,我不确定为什么
控制器
的构造函数中的
this.logActivites()
的输出是
未定义的
。不过,在加载页面后,我可以从控制台轻松地执行
app.logActivities()

是否因为(出于某种原因)数据尚未提取?我怎样才能解决这个问题

类模型{
构造函数(){
这是getActivities()
。然后(json=>
this.activities=json.activities
)
}
异步getActivities(){
常量url=https://jsonplaceholder.typicode.com/todos/1'
const response=等待获取(url)
const json=await response.json()
返回json
}    
}
类视图{
构造函数(){}
}
类控制器{
构造函数(模型、视图){
this.model=model
this.view=视图
这是logActivities()
}
日志活动(){
console.log(this.model.activities)
}              
}
app=新控制器(新模型(),新视图())

它记录未定义的日志,因为在该接合点它是。 这里我展示了一个记录
{}
的示例,这样您就可以看到它是这样的

例如,如果您的
fetch
从未像
fetch一样返回(“HTTPS://iambadfever.gone/I/do/not/exist”)

我放了一个可能的零钱

/*jshint esversion:8*/
类模型{
构造函数(){
这是getActivities()
。然后(json=>
this.activities=json.activities
//可能是这个?
这是logActivities();
);
}
异步getActivities(){
常量url=https://jsonplaceholder.typicode.com/todos/1';
const response=等待获取(url);
const json=await response.json();
返回json;
}
日志活动(){
console.log(this.activities);
}
}
类视图{
构造函数(){}
}
类控制器{
构造函数(模型、视图){
this.model=模型;
this.view=视图;
//这是logActivities();
}
}
设m=新模型();
控制台日志(m);
m、 活动={};
设v=新视图();
控制台日志(v);

设app=新控制器(m,v)如何修复它?在数据获取完成后调用getActivities?为什么您会假设数据获取将在时间=0时完成其工作?如果服务器上刚开始一些消耗资源的工作(备份或其他什么),数据提取需要10秒怎么办?这是一篇非常快的文章,可能还需要进行其他改进