使用node包的promise实现来解析promise
Resolve promise using promise implementation of node package
我正在使用uci节点包,该包在其源代码中使用Q库进行承诺,从而使以下承诺成为可能,但由于未定义deferred.resolve(),我无法解析承诺并传播outputPromise。我如何解析以下承诺并传播outputPromise?
var Stockfish = require('uci');
var stockfish = new Stockfish('..... /stockfish-6-64');
class Engine { ...
checkForBetterMoves(board, callback) {
var moves = {};
console.log('hello');
var outputPromise = stockfish.runProcess().then(function() {
console.log('Started');
return stockfish.uciCommand();
}).then(function(idAndOptions) {
console.log('Engine name - ' + idAndOptions.id.name);
return stockfish.isReadyCommand();
}).then(function() {
console.log('Ready');
deferred.resolve("Test"); //Error deferred not defined
});
console.log(outputPromise);
}
你应该能够简单地从.then
处理程序返回一个原始值,Q将其包装在一个立即解析的承诺中,并返回它。
var outputPromise = stockfish.runProcess().then(function() {
console.log('Started');
return stockfish.uciCommand();
}).then(function(idAndOptions) {
console.log('Engine name - ' + idAndOptions.id.name);
return stockfish.isReadyCommand();
}).then(function() {
console.log('Ready');
return "Test";
});
上述outputPromise
最终解析为"Test"
。
相关文章:
- 如何使用动画实现纸张推车
- 使用promise和mongoose对文档进行排序
- Promise和Promise.all(数组)在数组实现之前执行
- Angular框架是否为立即返回的promise实现常量
- $when.apply在Angular AJAX promise实现中的应用
- 在 JavaScript 中,当 'parent()' 返回 Promise 时,如何实现递归的 'ancestors(
- JavaScript 中 'promise' 的实现
- 处理猫鼬查询,但使用不同的 JavaScript Promise 实现
- 如何在 NodeJS 中实现 Bluebird Promise
- Promise A+实现:当调用then()并且Promise仍然挂起时该怎么办
- 如何在javascript中实现异步编程(promise)?是't javascript是一个ui线程环境
- 请求promise实现返回“null”
- 如何实现Typescript异步等待模式:Promise在哪里
- 使用api调用在循环中实现promise
- 在promise . all中实现长承诺链的最佳实践是什么?
- 使用node包的promise实现来解析promise
- 使用promise来实现超时-抛出错误
- 我的Promise实现是否符合规范
- 如何实现通过JavaScript中的时钟解析的monad promise
- 确定argument是一个类(a + promise实现)还是一个可调用函数