Javascript 回调内部的异步操作

Javascript 回调内部的异步操作,javascript,node.js,Javascript,Node.js,正如上面所看到的,当事件pause触发I wan以异步方式执行一系列操作时。但是如果我这样做,我认为addon的回调将永远不会返回 //(...) client.on('stream', function(stream, meta) { //(....) stream.on('pause', function () { addon.calculate_results_async(stream, client.id, function(results, strea

正如上面所看到的,当事件
pause
触发I wan以异步方式执行一系列操作时。但是如果我这样做,我认为
addon
的回调将永远不会返回

//(...)
client.on('stream', function(stream, meta) {
    //(....)
    stream.on('pause', function () { 
        addon.calculate_results_async(stream, client.id, function(results, stream) {
            stream.write(results); //send the results
        });
    });
});

首先,关于插件的beahviour,我说得对吗?第二,如果我是对的,那么在这个上下文中如何计算异步的结果呢?

似乎异步操作中发生了错误

Promise.all([your stuff]).then(function() {
  // all loaded
}, function() {
  // one or more failed
});

您可能忘记在异步过程中解析承诺

var promise = new Promise(function(resolve, reject) {
  // do a thing, possibly async, then…

  if (/* everything turned out fine */) {
    resolve("Stuff worked!");
  }
  else {
    reject(Error("It broke"));
  }
});

你有没有测试过你的行为是否正确?是抛出错误还是异常结果?@TbWill4321我还没有测试。我试图在改变之前预测这个实现的行为。