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我还没有测试。我试图在改变之前预测这个实现的行为。