gpt4 book ai didi

javascript - 将 promise 置于待处理状态

转载 作者:行者123 更新时间:2023-12-03 07:45:25 25 4
gpt4 key购买 nike

我想推迟 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);
}
});
})

要获取输入(我假设这里有一个浏览器上下文),您必须将事件监听器绑定(bind)到某个输入元素,并在某个确定的事件时从该元素读取输入。您只需在 Promise 中执行所有操作,并在对输入值感到满意后立即解决 Promise。

然后你可以.then这个 promise :

thePromise.then(function (input) {
alert(input);
});

输入数据将是解析值。

关于javascript - 将 promise 置于待处理状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35228476/

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