gpt4 book ai didi

javascript - 使用 Promise 观察游标并停止游标

转载 作者:行者123 更新时间:2023-11-28 06:48:04 24 4
gpt4 key购买 nike

我找不到很好的方法来做到这一点,但这是我的基本方法。它的目标是观察对象的状态,直到找到与正则表达式匹配的消息。

Cylon.waitForMessage(regex) {
check(regex, RegExp);

const observer = this.connections.find({
name: 'messages'
}).observe({
changed: function (doc) {
console.log(doc.lastMessage) // this is the last message to scan.
}
});
let promise = new Promise((resolve, reject) => {
// need to find the last message here and check if it matches regex
}).then(() => observer.stop());

return Promise.await(promise);
}

执行此操作的适当方法是什么? Promise 完成后如何停止监听器或观察者?

最佳答案

只需将逻辑移至 promise 函数内即可:

const observer = this.connections.find({
name: 'messages'
});

let promise = new Promise((resolve, reject) => {
observer.observe({
changed: function(doc){
if(regex.test(doc.lastMessage)){
resolve(doc.lastMessage);
observer.stop();
}
});
});
}).then((message) => doSomethingWithResolvedMessage());

关于javascript - 使用 Promise 观察游标并停止游标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33217346/

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