小编Pau*_*ulE的帖子

nodejs 强大的异步问题

我正在使用强大的 3rd 方模块开发 nodejs 应用程序。我正在尝试获得对下面 form.parse 方法返回的 webform 字段的全局范围访问(请参阅下面的 var formfields)。首先,form.parse 是一个异步操作,根据此处的模块文档:https : //github.com/felixge/node-formidable旨在接受回调。我正在这样做,请参阅传递给 form.parse 的匿名函数。

我的问题是,无论我做什么,我都无法让 form.parse 将字段对象正确返回到全局上下文/范围中的 formfields 变量。我已经尝试了(几天)回调函数和返回辅助函数等的闭包的各种组合。但没有运气。

我想做的基本事情是:

var form = new formidable.IncomingForm();
form.encoding = 'utf-8';
var formfields = form.parse(req, function (err, fields, files) {
  console.log("within form.parse method, subject field of fields object is: " + fields.subjects);
  return fields;
}); // form.parse

console.log("type of formfields is: " + typeof formfields);
console.log("subject field of formfields object is: " + formfields.subjects);
Run Code Online (Sandbox Code Playgroud)

但是正如您从下面的 console.log 输出中看到的那样,即使我正在使用回调,执行也会“下降”到最后 2 行 …

javascript node.js formidable

4
推荐指数
1
解决办法
4854
查看次数

标签 统计

formidable ×1

javascript ×1

node.js ×1