在JS中异步进行同步

时间:2018-10-05 20:51:01

标签: javascript

我几乎没有以同步形式执行的功能。有一个异步函数完全破坏了我的同步流程。帮助我将异步函数转换为同步函数  在这里,替换功能需要同步值。所以这里的诺言没有道理。还有其他替代方法可以使此功能在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

0 个答案:

没有答案