gpt4 book ai didi

javascript - 并行运行两个 async.series

转载 作者:行者123 更新时间:2023-11-30 16:33:17 24 4
gpt4 key购买 nike

我正在制作一个简单的 JavaScript 游戏。虽然我使用警报,但因为它们很简单,所以我尽可能使程序异步,以便用 HTML 轻松替换警报。目前,我像这样设置新播放器和他的两个控制键:

var name = "Player";
// TODO: Replace with HTML element
name = prompt("Name?", "Player "+gameSlave.lines.length+1);
var color = 0xFFFFFF;
color = parseInt(prompt("Color (hex)?", "0x"+Math.round(Math.random()*16777215)).toString(16),16);
var keys = {right:null, left: null};

async.series([
/** KEY GATHERING BOCK **/
//Empty function to clear event loop buffer where keystrokes are still remaining
function(callback){setTimeout(callback, 50);},
function(callback){gatherControlKey("LEFT", function(key) {keys.left=key;callback()});},
function(callback){gatherControlKey("RIGHT", function(key) {keys.right=key;callback()});},
/** REMOTE PLAYER GATHERING BLOCK **/
function(callback) {
// If player is added, continue
gameSlave.once("player.added", callback);
// Ask game to create new player
gameSlave.emit("player.requested", name, color);
},
function(callback) {
alert("Player set!");
},
]);

虽然有两个独立的 block :

  1. 收集播放器控制键
  2. 要求服务器创建播放器(服务器返回名称、ID 和颜色)。

所以我想异步运行两个同步链。像这样的东西:

async.parallel([  //This throws error f you fill something in series
async.series([ ... ]),
async.series([ ... ])
]);

最佳答案

我不认为你的问题很清楚,你没有说你的具体问题是什么你只是说它抛出一个异常,所以我试图猜测你的代码中有什么问题。我认为你的语法不正确,你应该将系列包装在两个函数中,这样当系列完成时它们可以有一个回调来调用。不应该是这样的吗

async.parallel([
function(pCb) {
async.series([
function(cb) {
console.log(1);
cb();
}
], function() {
console.log("completed first series");
pCb();
})
},

function(pCb) {
async.series([
function(cb) {
console.log(2);
cb();
}
], function() {
console.log("completed second series")
pCb();
})
}
], function() {
console.log("completed parallel");
});

如果这不能解决问题,那么您能否让您的问题更具体一些?

关于javascript - 并行运行两个 async.series,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33028164/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com