首页 > 代码库 > nodejs批量导入数据eventproxy(回调函数嵌套解决方案)使用实例
nodejs批量导入数据eventproxy(回调函数嵌套解决方案)使用实例
回调函数嵌套解决方案——eventProxy
API地址:https://github.com/JacksonTian/eventproxy
1、安装eventproxy
执行npm install eventProxy.
2、使用前进行声明,代码如下:
var EP = require(‘eventproxy‘);
3、根据API进行相应的方法调用,代码如下:
ajax.post(‘/user/login‘, { name: ‘********‘, pwd: ‘******‘, rememberPwd: true }, function (resp, headers) { if (resp.success) { console.log("begin import"); ajax.header.cookie = headers[‘set-cookie‘]; var baseImports = [importDict];
var ep = new EP(); ep.after(‘importBase‘, baseImports.length, function () { importShop(); console.log("import finish"); }); $.each(baseImports, function (fn) { fn(ep); }); } else { console.log(‘login fail‘); } });
根据API中说明,ep.after实现在each中的方法执行完成后,再进行importShop的执行,实现异步回调功能,避免了多层嵌套。
除了after外,eventProxy还提供了众多方法,让代码变得更加简单明了,阅读性也大大提高。
并行例子,代码如下:
var ep = EventProxy.create("template", "data", "l10n", function (template, data, l10n) { _.template(template, data, l10n);});$.get("template", function (template) { // something ep.emit("template", template);});$.get("data", function (data) { // something ep.emit("data", data);});$.get("l10n", function (l10n) { // something ep.emit("l10n", l10n);});
循环型调用例子。代码如下:
var ep = new EventProxy();ep.after(‘got_file‘, files.length, function (list) { // 在所有文件的异步执行结束后将被执行 // 所有文件的内容都存在list数组中});for (var i = 0; i < files.length; i++) { fs.readFile(files[i], ‘utf-8‘, function (err, content) { // 触发结果事件 ep.emit(‘got_file‘, content); });}
本文根据eventProxy根据eventProxy的API进行编写,相应例子来自API,如有不足之处,敬请原谅。
nodejs批量导入数据eventproxy(回调函数嵌套解决方案)使用实例
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。