javascript - 返回来自 javascript 函数的 ajax 调用的数据

标签 javascript ajax superagent

<分区>

我有一个对象,其功能如下: 因为它正在进行 ajax 调用,所以它只返回空数组。 响应后如何返回数据。

var data = [];
var ApiUtil = {
    fetchAll: function (resourceName) {
        request
            .get(url + resourceName)
            .set('Accept', 'application/json')
            .end(function (err, res) {
                if(!err) {
                    data = res.body;
                }else{
                    console.log('error');
                }
            });

        return data;

}

最佳答案

返回在请求结束之前执行,这就是数据为空的原因。

您可以简单地使用回调。

var ApiUtil = {
    fetchAll: function (resourceName, callback) {
        var data = [];
        request
            .get(url + resourceName)
            .set('Accept', 'application/json')
            .end(function (err, res) {
                if(!err) {
                    data = res.body;
                }else{
                    console.log('error');
                }
                callback && callback(data)
            });       
}

关于javascript - 返回来自 javascript 函数的 ajax 调用的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35406938/

相关文章:

c# - 以ajax方式将项目添加到列表框

javascript - 使用 jQuery 追加 html 元素 - html、DOM 和 jQuery 追加之间的区别?

javascript - "The keyword yield is reserved"eslint错误

node.js - 如何使用 superagent/supertest 链接 http 调用?

javascript - 使用 JavaScript 或 jQuery 模糊图像?

javascript - jQueryUI 和 SlidesJS 冲突

javascript - 为什么 Array.prototype.sort 在 Chrome 中有不同的行为?

javascript - 在 iframe 内运行 Javascript/jQuery

c# - MVC3 中更新局部 View 的 SetTimeout 随机执行

express - 测试 Express 应用程序时如何摆脱 supertest 的输出?