范例
http://pastebin.com/hz39fQWC
期望的状况是,写入档案的内容是
0,1,2,3,4.....,999,
但实际上,档案的内容可能会变成这样:
....8,9,11,10,12....
也就是说,呼叫 fs.appendFile() 的顺序
并不代表底层实际上处理的顺序。
可能会有人回答:
用 fs.appendFileSync 或是 把字串黏好之后再写到档案
但我想问的不是这个
我贴出来的只是一个简单的范例
这种底层处理顺序问题
可能出现在,数据库、socket等等,任何由底层去处理的异步动作上
只要底层实作时,不管顺序问题
就可能遇到这种状况
请问有什么方式可以保证底层异步行为的处理顺序问题?