1.安装以下插件
babel-plugin-transform-runtime
babel-preset-stage-3
2.Webpack配置
module : { loaders : [{ test: /\.jsx?$/, exclude: /node_modules/, loader: 'babel-loader', query: { "presets": ["react", "es2015", "stage-0"] "plugins": [ ["transform-runtime", { "polyfill": false, "regenerator": true }] ] }, }] }
3.调用实例
let fetchApi = () => { return new Promise((resolve, reject) => { var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState === 4) { if (xhr.status >= 200 && xhr.status < 300) { var response; try { response = JSON.parse(xhr.responseText); } catch (e) { reject(e); } if (response) { resolve(response, xhr.status, xhr); } } else { reject(xhr); } } }; xhr.open('GET', 'https://api.douban.com/v2/user/aisk', true); xhr.setRequestHeader("Content-Type", "text/plain"); xhr.send(xhr); }) } let testAsync = async () => { const t = await fetchApi() console.log(t) } testAsync()