在Javascript函数中连接数据
Concatenate data in Javascript functions
我有两个javascript
函数。
这是一个函数,另一个函数也是一样的。
function function1(.., .., callback){
//database logic
callback(data);
}
我的要求是从两个函数中获取数据并发送到客户端。
function sendFunction(){
function1(.., .., function(data1)){
console.log(data1);
}
function2(.., .., function(data2)){
console.log(data2);
}
sendToClient(data1+data2);
}
我的问题是我如何把外部的data1和data2从函数连接。指导我完成这个任务。
考虑到function1
和function2
是同步的,您必须在函数之外创建两个变量来存储返回值。
function sendFunction () {
var data1, data2;
function1(.., .., function(d1) {
data1 = d1;
console.log(data1);
});
function2(.., .., function (d2) {
data2 = d2;
console.log(data2);
});
sendToClient(data1 + data2);
}
编辑:对于异步函数,我建议你使用Promises:
function function1 () {
return new Promise(function (resolve, reject) {
// logic here
// If everything is ok, call resolve().
resolve("data1");
// If something went wrong, call reject().
});
}
function function2 () {
return new Promise(function (resolve, reject) {
// logic here
// If everything is ok, call resolve().
resolve("data2");
// If something went wrong, call reject().
});
}
function sendFunction () {
Promise.all([function1(), function2()])
.then(function (result) {
sendToClient(result[0] + result[1]);
})
.catch(function () {
console.log("The request failed. Try again.")
});
}
sendFunction();
做某事:
var datas=[];
var count=0;
function callback(data){
count++;
datas.push(data);
if(count==2){
//perfect both callbacks returned
proceedwith(datas);
}
}
function1(callback);
function2(callback);
如果是json对象,则不能添加。将它们存储在数组中,或者存储在对象中,或者将它们字符串化
最后,我找到了一个方法。
function sendFunction () {
function1(.., .., function(data1) {
console.log(data1);
function2(.., .., function(data2) {
console.log(data2);
sendToClient(data1 + data2);
});
});
sendToClient(data1 + data2);
}
相关文章:
- websocket客户端在发送大数据时断开连接
- 是否自动更新套接字连接数据?socket.io
- 连接数据并使用D3在地图中弹出
- 如何在打开连接时从Javascript发送一些附加数据,如用户名或时间
- Node.js:在用户连接之前向客户端发送数据
- 使用节点JS连接和断开数据卡
- 如何使用peerJS对等连接接收数据
- imacros提取两部分数据+连接常量保存到文件javascript
- 当连接在一起时,如何使用两个部分构建 JSON 对象,生成正确的 JSON 数据路径
- 链接下拉列表选择列表代码 -- 连接数据
- 简单的 D3.js饼图转换*没有*数据连接
- 如何在 BreezeJS 元数据中定义矩阵/链接/交叉表连接
- 服务器发送的事件连接关闭或未接收到数据
- Socket.io 数据包在断开连接和重新连接之间丢失
- 来自两个控制器的角度连接数据
- MongoDB集合设计连接数据
- 在图表框架中连接数据点的算法
- 在Javascript函数中连接数据
- 如何连接数据url
- 绘制一条连接数据点的线