如何创建同步功能

时间:2017-08-11 18:00:37

标签: javascript

我试图找出是否保留了记录。从一个函数我调用另一个来保存记录,问题是第二个函数的异步请求。要解决它使用promises,但是我仍然遇到异步的问题,当我调用promise时我可以完美地解决但是我的main函数没有将值设置为变量isStepValid synchronize。

enterprise.save = function(element){
//some code...
   return new Promise((resolve ,reject) => {
    // .... request service 
     if(response.data[0].status == "SUCESS"){
               resolve(response.data[0].message);
     }
     else{
         reject(response.data[0].message);
      }
  });

}

function validateSteps(stepnumber){ 
var isStepValid = true;
        message="";

                enterprise.save(this).then((resolve)=>{
                isStepValid = true;
                console.log("resolve:",resolve);
                }).catch((reject)=>{
                console.log("reject:",reject);
                isStepValid = false;
                });
}

当此函数完成时,变量isStepValid与promise的答案之一不匹配(它在执行此函数之前一致)。

1 个答案:

答案 0 :(得分:0)

您无法再次使异步功能同步。

您应该接受Promises并将validateSteps转换为异步函数。