后台接收前台传来的form表单数据,数据为图片。用的是formidable这个插件,然后经过处理后写入数据库,在form.on('end')的时候,再把数据库的图片数据返回给前台,问题就出在这了,往数据库插入数据是异步的动作,form.on('end')的时候数据不一定插进去了,如果在插入成功的回调内发送数据,单图可以,多图因为循环,就会报错:can't set headers after they are sent
现在想到的解决办法是在form.on('end')内写个定时器,等一会再发送,可是这样不稳定,谁知道这段特定时间后,数据有没有插入完成呢
使用 event (http://nodejs.cn/api/events.html)自定义事件并监听即可,数据库都操作完成再触发事件向前端传输数据。