函数内的两个回调函数未同步调用
Two callback functions inside a function not called synchronously
function sample() {
var callback_1 = request1(function(response) {
var Name = response.name;
});
var callback_2 = request2(function(response_1) {
if (response_1.name === Name) {
// do something
});
}
}
我有两个如上所示的回调函数,callback_1 & callback_2 从服务请求 JSON。
callback_2在callback_1之前调用,变量 Name 显示为未定义。非常感谢任何帮助,
如何让callback_1在callback_2之前执行,以便变量 Name 不是未定义的。
试试这个:
function sample() {
var callback_1 = request1(function(response) {
var Name = response.name;
var callback_2 = request2(function(response_1) {
if (response_1.name === Name) {
// do something
}
});
});
}
jQuery ajax
请求返回一个延迟对象(假设 request1 和 request2 是某种 ajax 调用(。 看看 http://api.jquery.com/category/deferred-object。
您可以使用类似以下内容的内容:
function sample() {
var Name;
var callback_1 = request1(function(response) {
Name = response.name;
});
callback_1.then(
callback_2 = request2(function(response_1) {
if (response_1.name === Name) {
// do something
};
})
);
}
相关文章:
- 如何将一个JavaScript函数回调为多个函数
- Meteor:异步函数回调异常:onAfterAction
- 从类方法中的 ajax post 函数回调函数更改 javascript 类属性
- jQuery动画函数回调错误
- jquery在html属性中添加函数回调,以便在其他事件中调用
- jquery getjson 函数:回调返回错误的字符串
- postMessage - 多个 postMessage 事件/函数/回调
- 在 Promise 调用的错误函数回调后附加对象的用法是什么
- 单击事件后的 JavaScript 函数回调
- 设置超时函数回调静态变量
- Jquery UI 模式匿名函数回调以打开对话框
- 函数回调、局部变量和 chrome.storage.sync.get
- Jquery Ajax 没有拾取选项参数中指定的函数回调
- 如何在 javascript 中进行函数回调
- 用函数回调封装JavaScript
- jQuery JavaScript嵌套异步函数回调
- Node.js-匿名函数回调
- 函数回调超出范围
- php代码的Javascript函数回调
- 如何使用函数回调在更改时提交表单