在react中,使用Promise和async报错:dataPromise.resolve is not a function
fetchMockData = () => {
fetch('mock-data/selectData01.json')
.then(
(res) => {
return res.json();
})
.then(
(data) =>{
//console.log(JSON.stringify(data))
var returnData = JSON.stringify();
console.log(typeof(returnData))
console.log('电信 ===', data['dataChinaTelecom']['emergencyTableData'])
return data['dataChinaTelecom']['emergencyTableData']
})
.catch(
(e) => {console.log(e.message);
});
}
async getData() {
const _self = this;
try {
let response = await fetch('mock-data/selectData01.json').then(function(response) {
return response.json();
}).then(function(responseThenData) {
//console.log('responseThenData =',responseThenData);
return responseThenData
}).catch(function(e) {
//console.log("Oops, error");
});
let responseData = response;
console.log('responseData =',responseData);
return 'xx';
} catch(e) {
console.log("Oops, error", e);
}
}
componentDidMount() {
const _self = this;
var key = true;
console.log('this.getData =', this.getData());
let dataPromise = this.getData();
console.log('dataPromise =',dataPromise)
var a = dataPromise.resolve('xx');
// Promise {[[PromiseStatus]]: "resolved", [[PromiseValue]]: "xx"}
a.then(function (result) { console.log('result =',result) })
// var key = true;
// new Promise(function(resolve, reject){
// if(key){
// resolve('成功了')
// }else{
// reject('被拒绝')
// }
// }).then(function(value) {
// console.log(value); // key=true 123
// }, function (rej) {
// console.log('---------result reject');
// console.log(rej);
// })
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
方法getdata 你return的是"xx",一个字符串。不是一个promise对象。不太明白你这样写的目的,建议看下
阮一峰ES6的promise