我在ApiServices.js页面中创建了一个名为getAllCams的函数。
async getAllCams() {
try {
const getAlarmListRes = await
fetch(`someurl`,
{
method: 'GET',
headers: new Headers({
Authorization: `Basic ${base64.encode('user-id:1234')}`,
'Content-Type': 'application/json'
})
});
if (getAlarmListRes.status === 200) {
const newData = await getAlarmListRes.json();
if (newData !== '') {
loggingService.debug('here is your array', newData.alarms);
return newData;
}
return ApiService.FAILURE;
}
loggingService.debug('Was not able to get alarm list for you', getAlarmListRes);
return ApiService.FAILURE;
} catch (e) {
loggingService.debug('could not get alarm list', e);
}
}
我在CameraNotification.js页面上调用此函数
componentWillMount() {
loggingService.debug('component did mount');
const listOfCams = apiService.getAllCams();
loggingService.debug('here is your promise object', listOfCams);
}
我一直得到第一个await的结果,这是一个简单的promise对象,我在第二个等待中转换为JSON对象。根据我对await的理解,listOfCams应该返回一个数组,而不是promise对象。是什么导致这种情况发生?我尝试用.then()编写代码,同样的事情发生了。