gpt4 book ai didi

javascript - 是否可以通过用户操作或手动管理的触发器来解决 Promise?是的,所以我们能够形成可编辑的 promise

转载 作者:行者123 更新时间:2023-12-02 02:43:22 24 4
gpt4 key购买 nike

我希望程序在完成某些用户操作后运行一系列操作。但是,链的一部分将需要等待先前 Promise 的解决或用户已执行某些操作的事实。是否可以让 Promise 以这种方式工作?

我想象中理想的程序脚本是这样的:

var coreTrigger = Promise.any([normalAsyncRequest, userAction]);
coreTrigger.then(res=>{
// the followup action
});

...

// somewhere far away, or in developer console
userAction.done(); // I want this can be one possible path to trigger the followup action

最佳答案

是的!

function createUserAction() {
let resolve = undefined;
const promise = new Promise(r => { resolve = r });

function done() {
resolve();
}

function wait() {
return promise;
}

return { done, wait }
}

并按照您在问题中的描述使用它。

const userAction = createUserAction();
var coreTrigger = Promise.any([normalAsyncRequest, userAction.wait()]);
coreTrigger.then(res=>{
// the followup action
});

// Somewhere else
userAction.done();

关于javascript - 是否可以通过用户操作或手动管理的触发器来解决 Promise?是的,所以我们能够形成可编辑的 promise ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63205154/

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