基本上,我有与下面的代码相似的东西,我不完全确定总是要执行什么执行顺序。现在,我想它以一种非阻塞的方式执行,即>
func() -> self.db.createEntry() -> res.on() -> callback -> self.submit()
但是我曾经有过这样的经历>>
func() -> self.db.createEntry() -> callback -> res.on() -> self.submit()
我无法控制何时调用
res.on('data')
,因为它是套接字事件侦听器,并且在单独的服务器上进行处理。我想恐怕在res.on()
中间会调用回调函数,这可能会发生吗?说res.on()
正好在执行过程的中间,回调函数可以中断该中断吗?const func = function(){ self.db.createEntry(self.arg, self.arg1, function(response){ if(response){ self.arg = response self.state.wait = false if(self.state.wait){ self.submit() } } }); res.on('data', function(data) { data = parse(data); if(!data.contentId){ self.state.wait = true; self.state.data = data } else { self.submit(data); } }); } func() db.prototype.createEntry = function(arg, arg1, callback) { self.connect(); self.connection.query('INSERT INTO table_name SET ?', arg, function(err, results, fields) { if(err) { self.disconnect(); callback() } else { self.disconnect(); callback(results) } }); }
基本上,我有与下面的代码相似的东西,我不完全确定总是要执行什么执行顺序。现在,我想它以一种非阻塞的方式执行,即...
在函数中JavaScript代码到switch midway
的唯一方法是因为有yield
指令。