Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.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 为什么在续集之前运行Applisten?_Javascript_Node.js - Fatal编程技术网

Javascript 为什么在续集之前运行Applisten?

Javascript 为什么在续集之前运行Applisten?,javascript,node.js,Javascript,Node.js,我认为在applisten之前代码将成功返回,但它并不像我想象的那样工作。我不明白它是怎么工作的? 某人能解释为什么吗 sequelize .sync() .then(() => { console.log('successfull') }) .catch(err => {console.error('err',err)}); // view engine setup app.set('views', path.join(__dirname, 'views')

我认为在applisten之前代码将成功返回,但它并不像我想象的那样工作。我不明白它是怎么工作的?
某人能解释为什么吗

sequelize
  .sync()
  .then(() => {
    console.log('successfull')
  })
  .catch(err => {console.error('err',err)});
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');

app.use('/',loginRouter);
app.use('/admin',login);
app.use('/admin', indexRouter);  


app.listen(3001,()=>{console.log('App running at http://localhost:3001');
})

这是js中的一个事件循环问题,很容易理解,然后()返回属于异步任务的承诺,app。Listen()是一个同步任务,用js执行机制是先同步任务再执行异步任务,请访问了解更多信息

sync()
是一个异步操作;如果要在创建表后设置应用程序,则需要将所有
app.
命令移动到console.log()命令所在的回调中。
App running at http://localhost:3001
Executing (default): CREATE TABLE IF NOT EXISTS `users` (`id` INTEGER NOT NULL auto_increment , `username` VARCHAR(255) NOT NULL, `password` VARCHAR(255) NOT NULL, `createdAt` DATETIME NOT NULL, `updatedAt` DATETIME NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB;
Executing (default): SHOW INDEX FROM `users`
successfull