我想在我的新Vue.js项目中使用async/wait模式。但是,在我第一次尝试后,它抛出了一个错误:
<template>
<div>
<table>
<tr>
<th>Test</th>
</tr>
<tr v-for="(value, name) in pickingList">
<td>{{value}}</td>
</tr>
</table>
s
</div>
</template>
<script>
export default {
name: 'Test',
data() {
return {
pickingList: null,
pickingZone: '1006'
}
},
async created() {
await this.getPickingList();
},
methods: {
async getPickingList() {
this.pickingZone = await this.$http.get("Picking/PickingZoneLists/" + this.pickingZone);
}
}
}
</script>
这会引发以下错误:
WebPack内部:///./node_modules/vue/dist/vue.esm.js:629[Vue警告]:创建钩子时出错:"引用错误:重新生成运行时未定义"
发现于
---
经过一些研究,我找到了一个解决方案,建议安装以下两个babel插件:
我通过npm安装它们并将它们添加到我的babel.config.js文件中:
module.exports = {
presets: [
['@babel/preset-env']
],
plugins: [
['@babel/polyfill'],
['@babel/plugin-transform-regenerator']
]
}
之后,我的页面立即崩溃,出现一个充满SocketExceptions和HttpRequest estExceptions的非特定错误页面:
未能将请求代理给http://localhost:8081/mypage,因为对代理目标的请求失败。检查代理目标服务器是否正在运行并接受对的请求http://localhost:8081/.潜在的异常消息是“Es konnte keine Verbindung hergestellt werden,da der Zielcomputer die Verbindung verweigerte”。有关更多详细信息,请查看InnerException。
这两个巴别塔插件都是正确的吗?如果是,我如何解决问题?
我也找到了这篇相关文章,但我没有网页配置文件。这是我的vue。配置。js:
module.exports = {
lintOnSave: false,
runtimeCompiler: true,
configureWebpack: {
//Necessary to run npm link https://webpack.js.org/configuration/resolve/#resolve-symlinks
resolve: {
symlinks: false
}
}
}
最后,我的package.json:
{
"name": "@coreui/coreui-free-vue-admin-template",
"version": "3.0.0-beta.3",
"description": "Open Source Bootstrap Admin Template",
"author": {
"name": "CoreUI",
"url": "https://coreui.io",
"github": "https://github.com/coreui",
"twitter": "https://twitter.com/core_ui"
},
"contributors": [
{
"name": "CoreUI Team",
"url": "https://github.com/orgs/coreui/people"
}
],
"homepage": "http://coreui.io",
"copyright": "Copyright 2019 creativeLabs Łukasz Holeczek",
"license": "MIT",
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint",
"test:unit": "vue-cli-service test:unit",
"test:e2e": "vue-cli-service test:e2e",
"clearCache": "jest --clearCache",
"release": "npm-run-all clearCache lint build test:unit test:e2e"
},
"dependencies": {
"@coreui/coreui": "^3.0.0-beta.4",
"@coreui/icons": "^1.0.0",
"@coreui/utils": "^1.0.0",
"@coreui/vue": "^3.0.0-beta.4",
"@coreui/vue-chartjs": "^1.0.2",
"axios": "^0.19.2",
"vue": "^2.6.10",
"vue-axios": "^2.1.5",
"vue-router": "^3.1.3"
},
"devDependencies": {
"@babel/core": "^7.7.5",
"@babel/plugin-transform-regenerator": "^7.8.3",
"@babel/polyfill": "^7.8.3",
"@vue/cli-plugin-babel": "^4.1.1",
"@vue/cli-plugin-e2e-nightwatch": "^4.1.1",
"@vue/cli-plugin-eslint": "^4.1.1",
"@vue/cli-plugin-unit-jest": "^4.1.1",
"@vue/cli-service": "^4.1.1",
"@vue/test-utils": "1.0.0-beta.29",
"babel-eslint": "^10.0.3",
"babel-jest": "^24.9.0",
"chromedriver": "^79.0.0",
"core-js": "^3.4.8",
"eslint": "^6.7.2",
"eslint-plugin-vue": "^6.0.1",
"node-sass": "^4.13.0",
"npm-run-all": "^4.1.5",
"sass-loader": "^8.0.0",
"vue-template-compiler": "^2.6.10"
},
"browserslist": [
"> 1%",
"last 2 versions",
"not ie <= 9"
],
"engines": {
"node": ">= 8.10.x",
"npm": ">= 5.6.0"
}
}
我找到了一篇关于这个主题的相对较新的媒体帖子@babel/polyfill
已被弃用。您需要安装@babel/runtime
和@babel/plugin transform runtime
,然后对您的babel进行一些更改。配置。js:
npm i -D @babel/plugin-transform-runtime
npm i @babel/runtime
{
"presets": [
"@babel/preset-env",
"@babel/preset-react"
],
"plugins": [
[
"@babel/plugin-transform-runtime",
{
// "absoluteRuntime": false,
"corejs": false,
// "helpers": true,
"regenerator": true,
// "useESModules": false
}
]
]
}
来源文章:https://medium.com/@kishan020696/react-16-with-webpack-4-and-babel-7-part-2-edb34d78f695
我想进行一个基于当前状态的API调用,但不能使setState函数作为异步函数工作。 给我错误: 类型为“”的参数(状态:只读)= 如果我在setState方法之外获取数据,它会起作用,但我害怕对过时的页码进行API调用:
问题内容: 我认为节点7.4支持异步/等待,但是此示例不起作用: 结果是: 如何在节点7.4上使用异步/等待? 问题答案: 是的,Node.js v7支持async-await,但将其锁定在标志后面。尚未准备就绪的功能不在此标记后面。 要在Node.js v7中使用async-await,只需使用此标志运行Node服务- async-await的正式发行版预定于4月启动的Node.js v8。 您
我以为async/wait在节点7.4中得到了支持,但是这个例子不起作用: 结果: 如何在node 7.4中使用async/await?
我试图在react/electron项目中使用async/await,但它不起作用。我想要的是获取docker容器状态列表。但是安慰。日志(列表)返回未定义的。 有人能帮我吗?:)
问题内容: 给出以下代码: 产生以下错误: TS2322:类型’Promise []’无法分配给类型’number []’。类型’Promise 不可分配给类型’number’。 我该如何解决?怎样才能让和一起工作? 问题答案: 这里的问题是,您正在尝试兑现承诺而不是承诺。这没有达到您的期望。 当传递给的对象不是Promise时,只需立即按原样返回值,而不是尝试解析它。因此,由于您在此处传递了(P
问题内容: 在循环中使用/ 是否有任何问题?我试图遍历文件数组和每个文件的内容。 这段代码确实有效,但是这可能会出问题吗?我让某人告诉我,您不应该在这样的高阶函数中使用/ ,所以我只是想问一下这是否有问题。 问题答案: 确保代码确实有效,但是我很确定它不会实现您期望的功能。它只会触发多个异步调用,但此后函数会立即返回。 顺序阅读 如果要顺序读取文件, 则不能使用。只需使用现代循环即可,该循环将按预