art*_*art 0 node.js promise bluebird multiparty
我承诺多方使用它的 form.parse。它工作正常,但 form.parse 不会返回我可以使用的 then/catch 值的承诺。
var Promise = require('bluebird');
var multiparty = Promise.promisifyAll(require('multiparty'), {multiArgs:true})
var form = new multiparty.Form();
form.parse({}).then((data)=>{console.log(data)});
Run Code Online (Sandbox Code Playgroud)
这是我使用内置 Promise 的解决方案:
const promisifyUpload = (req) => new Promise((resolve, reject) => {
const form = new multiparty.Form();
form.parse(req, function(err, fields, files) {
if (err) return reject(err);
return resolve([fields, files]);
});
});
Run Code Online (Sandbox Code Playgroud)
和用法:
const [fields, files] = await promisifyUpload(req)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1149 次 |
最近记录: |