将承诺置于待处理状态
Put a promise in a pending state
我想推迟 Promise 的执行,直到提供用户输入。
我想发个帖子,但等到发生一些事情,像这样:
while (true) {
promiseForUserInput = pending;
strInput = rl.question("provide input"); //waits for user input
promiseForUserInput = resolved;
var resultOfUsersChoice = promiseForUserInput.then(function(input) {
return loadFromServer(input)
}).then(function(serverResponse) {
console.log(serverResponse)
});
}
可能吗?我需要阅读工厂功能吗?
这必须像这样工作:
new Promise(function (resolve) {
document.getElementById('my-input').addEventListener('keyup', function (e) {
if (/* input value is good enough for you */) {
resolve(e.currentTarget.value);
}
});
})
要获取输入(我在这里假设浏览器上下文),您必须将事件侦听器绑定到某个输入元素,并在某个确定的事件时从元素读取输入。您只需在承诺中完成所有这些操作,并在您对输入值感到满意后立即resolve
承诺。
然后,您可以.then
此承诺:
thePromise.then(function (input) {
alert(input);
});
输入数据将是解析的值。
相关文章:
- AngularJS&Google可视化-使用状态更改处理程序(Google API)在HTML页面上查看$sco
- 在基于Strophe.js的聊天应用程序中处理状态
- 如何处理 React / Flux 组件中的状态转换
- 处理角度.js承诺错误状态
- 如何处理需要子组件状态的Meteor数据
- 如何在React应用程序中处理权限检查(Redux中的状态维护)
- React.js-通过事件处理程序更改所有者组件的状态
- 如何在 AngularJS 中同时处理 DOM 操作和状态更改
- 反应.js - 处理哑儿童状态的模式
- 使用 ajaxError 全局处理程序显示 HTTP 状态代码 401 详细信息
- 尝试在状态“root.loaded.saved”中处理事件“成为无效”
- 在 Angular.js 中更改视图时处理$scope状态和值的正确方法是什么?
- 将承诺置于待处理状态
- 在 JavaScript 中的事件处理中获取对象的状态
- 什么'是在AngularJS中处理应用程序状态和事件广播的最佳实践
- 在尝试管理和访问不同组件和处理程序方法中的状态时,我可以使用RxJS与Redux/context吗
- 无法使用节点预处理程序重建串行端口:404状态代码下载64位nw.lib
- 我如何在React JS中处理状态错误
- 如何使用jquery处理状态代码307重定向
- 如何处理状态代码未处理的 ajax 错误