gpt4 book ai didi

javascript - 根据回调重复调用函数

转载 作者:行者123 更新时间:2023-11-30 14:52:07 25 4
gpt4 key购买 nike

我有以下设置:

const foo = () => {
bar((err,payload) => {
// some stuff happens here
}
}

所以我需要不断地在“foo”中调用“bar”,直到在“这里发生了一些事情”部分发生了某种结果。但在重新调用“bar”之前,我显然必须等待回调的结果——我该如何构建它?

最佳答案

尝试使用新的 awaitasync在 ES6 中。

const foo = async () => {
var myOutcome;
while (/*CHECK HERE*/) {
try {
myOutcome = await /* call async javascript function here */
} catch (e) {
// Handle error here
}
}
}

这一切都依赖于Javascript Promises ,只要该函数返回一个 promise ,它就会自动以类似同步的方式运行。

编辑如果该函数仅支持回调,您可以像这样将其包装在一个 promise 中。

function myCallbackFunctionPromise() {
return new Promise((resolve, reject) => {
callbackFunction((err, data) => {
if (err) {
reject(err);
} else {
resolve(data);
}
});
});
}

关于javascript - 根据回调重复调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47958455/

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