success回调函数push数组
时间: 2023-10-06 07:11:20 浏览: 161
你可以使用数组的 `push` 方法将成功回调函数添加到一个数组中。这样,每当成功事件发生时,你可以通过遍历数组来依次调用相应的回调函数。
以下是一个示例代码:
```javascript
// 创建一个数组来存储成功回调函数
var successCallbacks = [];
// 定义一个成功回调函数
function successCallback1() {
console.log("成功回调函数1被调用");
}
// 定义另一个成功回调函数
function successCallback2() {
console.log("成功回调函数2被调用");
}
// 将成功回调函数添加到数组中
successCallbacks.push(successCallback1);
successCallbacks.push(successCallback2);
// 模拟触发成功事件
for (var i = 0; i < successCallbacks.length; i++) {
var callback = successCallbacks[i];
callback();
}
```
在上面的示例中,我们创建了一个 `successCallbacks` 数组,并定义了两个成功回调函数 `successCallback1` 和 `successCallback2`。然后,我们使用 `push` 方法将这两个函数添加到数组中。最后,我们通过遍历数组来依次调用每个回调函数。
希望这可以解答你的问题!如果还有其他问题,请随时提问。
相关问题
sql查询结果怎么存储在js的数组中
你可以通过使用Ajax来向服务器发送Sql查询请求,然后在服务器端将查询结果以JSON格式返回给客户端,客户端可以使用JavaScript解析这些JSON数据并将其存储在数组中。下面是示例代码:
//使用jQuery的Ajax函数向服务器发送Sql查询请求
$.ajax({
url: 'query.php',
type: 'post',
data: {sql: 'SELECT * FROM table'},
dataType: 'json',
success: function(result){
//将查询结果存储在数组中
var arr = [];
for(var i=0; i<result.length; i++){
arr.push(result[i]);
}
console.log(arr);
},
error: function(){
alert('查询失败');
}
});
在这个示例代码中,我们向名为query.php的服务器端脚本发送了一个Sql查询请求,查询语句是SELECT * FROM table,服务器端脚本会将查询结果以JSON格式返回给客户端。在客户端的success回调函数中,我们将返回的JSON数据转换为JavaScript数组并输出到控制台。
解决打印问题:let errMsg = []; // 监听字体外链请求 $.ajax({ url: $('#iconfont').attr('href'), type: 'get', success: () => { // console.log('You iconfont CDN is up to date'); errMsg.push('You iconfont CDN is up to date') }, error: (XMLHttpRequest, textStatus, errorThrown) => { // alert(`字体外链失效,需要更新 CDN:${textStatus} - ${errorThrown}`) errMsg.push(`字体外链失效,需要更新 CDN:${textStatus} - ${errorThrown}`) } }) console.log(errMsg[0]);
根据你提供的代码,问题出现在异步操作中。由于ajax请求是异步执行的,所以在 `console.log(errMsg[0])` 执行时,数组 `errMsg` 的长度可能仍然为0,因此无法正确打印数组中的元素。
要解决这个问题,你可以将 `console.log(errMsg[0])` 放在ajax请求的回调函数中,确保在请求完成后再打印数组。例如:
```javascript
let errMsg = [];
// 监听字体外链请求
$.ajax({
url: $('#iconfont').attr('href'),
type: 'get',
success: () => {
// console.log('You iconfont CDN is up to date');
errMsg.push('You iconfont CDN is up to date');
console.log(errMsg[0]); // 在成功回调函数中打印数组
},
error: (XMLHttpRequest, textStatus, errorThrown) => {
// alert(`字体外链失效,需要更新 CDN:${textStatus} - ${errorThrown}`)
errMsg.push(`字体外链失效,需要更新 CDN:${textStatus} - ${errorThrown}`);
console.log(errMsg[0]); // 在错误回调函数中打印数组
}
});
```
这样,当ajax请求完成时,你就能正确地打印数组中的元素了。