当我运行代码时出现此错误:
无法找到变量:flagData
如何从promises实现返回(传递)数据(我在另一个函数中使用promises)
resultOTP = OTP.fetchData(uniqueId, mobileNumber)
.then((data) => {
data.map((data)=>{
if(data.message == "-1"){
var flagData = 0
}
else {
var flagData = 1
}
})
})
alert(flagData)
答案 0 :(得分:1)
首先,变量没有在正确的范围内定义,即使它没有用,因为你有一个异步调用,你在改变它的值,你也可以使用异步等待
async function fetchData() {
const response = await OTP.fetchData(uniqueId, mobileNumber);
let flagData = -1;
if(response) {
response.map((data)=>{
if(data.message == "-1"){
flagData = 0
}
else {
flagData = 1
}
})
}
alert(flagData)
}