我几乎没有以同步形式执行的功能。有一个异步函数完全破坏了我的同步流程。帮助我将异步函数转换为同步函数 在这里,替换功能需要同步值。所以这里的诺言没有道理。还有其他替代方法可以使此功能在JS中同步
var processLine = (line) => {
let pattern = "Hai";
let regex = new RegExp(pattern, 'gi');
let count = 0;
return line.replace(regex, () => {
count = count + 1;
return returnAsPerUserChoice(line, count);
});
}
var returnAsPerUserChoice = async(line, occurence) => {
let resp = await (new Promise(resolve => {
// Here it is asynchronous function . let us assume it send reponse like resolve("Hello");
}));
return resp;
}
processLine("Hai dude , This is KDK");
预期的O / P:您好,伙计,这是KDK
来自功能的O / P:未定义的家伙,这是KDK