您当前的位置: 首页 > 

杨林伟

暂无认证

  • 1浏览

    0关注

    3337博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

49dwr - 传递额外的数据到 callback 函数

杨林伟 发布时间:2019-04-29 16:13:52 ,浏览量:1

通常我们需要传递额外的数据到 callback 函数,但是因为所有的回调函数都只有一个参数(远程方法的返回结果),这就需要一些小技巧了。

解决方案就是使用 Javascript 的闭包特性。

例如,你的回调函数原本需要像这个样子:

function callbackFunc(dataFromServer, dataFromBrowser) { 
	// 用dataFromServer和dataFromBrowser做些事情...... 
}

那么你可以像这个组织你的函数:

var dataFromBrowser = ...; 
// 定义一个闭包函数来存储dataFromBrowser的引用,并调用dataFromServer 
var callbackProxy = function(dataFromServer) { 
callbackFunc(dataFromServer, dataFromBrowser); 
}; 
var callMetaData = { callback:callbackProxy }; 
Remote.method(params, callMetaData);

换句话说,现在你作为 callback 函数传递过来的不是一个真正的 callback,他只是一个做为代理的闭包,用来传递客户端的数据。

你可以用更简介的形式:

var dataFromBrowser = ...; 
Remote.method(params, { 
callback:function(dataFromServer) { 
callbackFunc(dataFromServer, dataFromBrowser); 
} 
});
关注
打赏
1662376985
查看更多评论
立即登录/注册

微信扫码登录

0.0792s