异步回调Node.js

约瑟夫Q.

我尝试使用异步NodeJs库在收集API信息后使用express执行渲染,但是async.parallel回调在收集我需要的所有数据之前先执行自身

这是代码:

            LolApi.getMatchHistory(app_dtb.summoner.id, "euw", function(err, history) {
            if (!err) {
                async.parallel([
                    function(callback) {
                        LolApi.getMatch(history.matches[nbMatch].matchId, function(err, match) {
                            if (!err) {
                                var teamIn;

                                function getParticipantNb() {
                                    for (var i = 0; i < match.participantIdentities.length; i++) {
                                        if (app_dtb.summoner.id == match.participantIdentities[i].player.summonerId) {
                                            if (i <= 5) teamIn = 100
                                            else teamIn = 200
                                            return i + 1
                                        }
                                    }
                                    return false;
                                }

                                var participantNb = getParticipantNb()
                                if (match.teams[0].winner == true && teamIn == 100) {
                                    app_dtb.lastGame.won = "Win";
                                } else {
                                    app_dtb.lastGame.won = "Loose";
                                }
                                console.log(app_dtb.lastGame.won)
                            } else {
                                console.log(err)
                            }

                        });
                        setTimeout(function() {
                            callback(null, "one");
                        }, 200);
                    },
                    function(callback) {
                        options = {
                            champData: 'allytips,blurb',
                            version: '4.4.3',
                            locale: 'en_US'
                        }
                        LolApi.Static.getChampionById(history.matches[nbMatch].champion, options, function(err, champ) {
                            if (!err) {
                                console.log(champ.name);
                                app_dtb.lastGame.champName = champ.name

                            } else {
                                console.log(err)
                            }

                        });
                        setTimeout(function() {
                            callback(null, "two");
                        }, 100);
                    }
                ], function(err, results) {
                    console.log(results)
                    res.render("index");
                });
            } else {
                console.log(err);
            }

        })

有任何想法或其他方式可以得到相同的结果吗?

非常感谢

赛义达

您应该callbackLolApi方法内部调用回调,并且要确保async最终将为两个并行函数调用回调。因此可能timeout在您的LolApi回调之前被调用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Node JS Mongoose 异步回调

来自分类Dev

在Node.js中制作异步回调函数

来自分类Dev

Node.js承诺,异步或仅回调

来自分类Dev

API调用的异步并行与node.js中的回调

来自分类Dev

Node.js,回调,异步,命令行

来自分类Dev

Node.JS函数返回异步回调函数的值

来自分类Dev

每次上传的异步js回调

来自分类Dev

在node.js中正确放置具有多个异步redis调用的回调

来自分类Dev

在Node.js中堆叠异步回调事件的最佳方法

来自分类Dev

我可以在Node.js中编写真正的异步回调吗?

来自分类Dev

Node.js异步系列-将参数传递给下一个回调

来自分类Dev

Node.js异步循环,下一个循环之前从函数进行回调

来自分类Dev

如何在Node.js模块中处理异步回调?

来自分类Dev

在Node.js(异步)中的循环和回调中寻找正确的模式

来自分类Dev

了解Node.js异步性-循环还是嵌套回调

来自分类Dev

Node.js-为什么我的某些回调不异步执行?

来自分类Dev

对如何在node.js中实现异步回调感到困惑

来自分类Dev

lambda node.js异步函数无法访问回调

来自分类Dev

在node.js中正确放置具有多个异步redis调用的回调

来自分类Dev

Node.js fs.readfile /异步文件访问:在回调中获取当前文件

来自分类Dev

如何在Node.js模块中处理异步回调?

来自分类Dev

Node.js异步循环,下一个循环之前从函数进行回调

来自分类Dev

Node.JS-如何识别哪个异步HTTP GET响应在回调中返回数据?

来自分类Dev

带有异步瀑布/ Node.js的未定义“回调”

来自分类Dev

在Node.js中堆叠异步回调事件的最佳方法

来自分类Dev

功能-Node.js中的异步映射,递归和回调的组合

来自分类Dev

node.js 如何在异步操作之外保存变量以访问它的回调?

来自分类Dev

Node.js 中异步包的 .each() 方法中的回调函数

来自分类Dev

node.js回调函数dynamodb

Related 相关文章

  1. 1

    Node JS Mongoose 异步回调

  2. 2

    在Node.js中制作异步回调函数

  3. 3

    Node.js承诺,异步或仅回调

  4. 4

    API调用的异步并行与node.js中的回调

  5. 5

    Node.js,回调,异步,命令行

  6. 6

    Node.JS函数返回异步回调函数的值

  7. 7

    每次上传的异步js回调

  8. 8

    在node.js中正确放置具有多个异步redis调用的回调

  9. 9

    在Node.js中堆叠异步回调事件的最佳方法

  10. 10

    我可以在Node.js中编写真正的异步回调吗?

  11. 11

    Node.js异步系列-将参数传递给下一个回调

  12. 12

    Node.js异步循环,下一个循环之前从函数进行回调

  13. 13

    如何在Node.js模块中处理异步回调?

  14. 14

    在Node.js(异步)中的循环和回调中寻找正确的模式

  15. 15

    了解Node.js异步性-循环还是嵌套回调

  16. 16

    Node.js-为什么我的某些回调不异步执行?

  17. 17

    对如何在node.js中实现异步回调感到困惑

  18. 18

    lambda node.js异步函数无法访问回调

  19. 19

    在node.js中正确放置具有多个异步redis调用的回调

  20. 20

    Node.js fs.readfile /异步文件访问:在回调中获取当前文件

  21. 21

    如何在Node.js模块中处理异步回调?

  22. 22

    Node.js异步循环,下一个循环之前从函数进行回调

  23. 23

    Node.JS-如何识别哪个异步HTTP GET响应在回调中返回数据?

  24. 24

    带有异步瀑布/ Node.js的未定义“回调”

  25. 25

    在Node.js中堆叠异步回调事件的最佳方法

  26. 26

    功能-Node.js中的异步映射,递归和回调的组合

  27. 27

    node.js 如何在异步操作之外保存变量以访问它的回调?

  28. 28

    Node.js 中异步包的 .each() 方法中的回调函数

  29. 29

    node.js回调函数dynamodb

热门标签

归档