0
有一個busboy library。對於某些承諾庫,我可以用下面的代碼收集一個對象的整個表單數據:RxJS和Busboy
var p = new Promise((resolve) => {
let res = {}
busboy.on('file', (fieldname, file, filename, encoding, mimetype)=> {
let name = uuid.v1()
let extension = path.extname(filename)
let saveTo = path.resolve(mediaPath, `${name}${extension}`)
file.pipe(fs.createWriteStream(saveTo))
res = _.extend(res, {
[fieldname]: { filename }
})
})
busboy.on('field', (key, value, keyTruncated, valueTruncated) => {
res = _.extend({[key]: value})
})
busboy.on('finish',() => resolve(res))
})
p.then((data) => ...
它的工作原理,但它看起來有點意大利麪條一樣小。有沒有辦法用RxJS來改進這個樣本?
試試這個http://xgrommx.github.io/rx-book/content/observable/observable_methods/fromevent.html – xgrommx
你建議設立3不同的序列(對於每種類型的事件),合併它們並減少一個對象? – kharandziuk