我试图找出是否保留了记录。从一个函数我调用另一个来保存记录,问题是第二个函数的异步请求。要解决它使用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的答案之一不匹配(它在执行此函数之前一致)。
答案 0 :(得分:0)
您无法再次使异步功能同步。
您应该接受Promises并将validateSteps
转换为异步函数。