How can I console log - or do any thing with the data returned from inside an async function?
example: JS FILE:
async function getData(){
try {
$.getJSON('./data.json', (data) => {
return data;
});
} catch(error) {
console.log("error" + error);
} finally {
console.log('done');
}
}
console.log(getData());
Run Code Online (Sandbox Code Playgroud)
JSON FILE:
{
"stuff": {
"First": {
"FirstA": {
"year": [2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017],
"Categories": ["Suspension", "Electrical", "Performance", "Motor"]
},
"FirstB": {
"year": [2007, 2008, 2009, …Run Code Online (Sandbox Code Playgroud) 我的大脑已经检查了周末......
我正在寻找一种纯 Javascript 解决方案,如果在单击另一个主菜单项时打开一个下拉菜单框,则先前打开的下拉列表将关闭,然后显示新单击的主菜单项的下拉列表。我知道这可能很简单,但我想不出一个不复杂的解决方案。
此外,如果您单击菜单项外部(文档中非菜单项或下拉框的任何位置)应关闭所有打开的下拉列表。
感谢您的任何帮助。
function testFunc(el) {
var parent = el.parentElement;
var dd = parent.lastChild.previousSibling;
dd.classList.toggle('show');
}Run Code Online (Sandbox Code Playgroud)
ul { list-style: none; margin: 0; padding: 0; }
ul li {
width: 100px;
float: left;
background: #dbdbdb;
line-height: 2em;
text-align: center;
margin: 0 5px;
cursor: pointer;
}
ul li span {
display: block;
}
ul li ul {
display: none;
}
.show {
display: block;
}Run Code Online (Sandbox Code Playgroud)
<ul>
<li>
<span onclick="testFunc(this)">Item 1</span>
<ul>
<li>Sub Item 1</li>
<li>Sub Item 2</li>
</ul>
</li> …Run Code Online (Sandbox Code Playgroud)我创建了一个基本的CLI结构环境。我有一个显示消息/警报的组件,例如:登录失败等…
由于此组件将在整个应用程序中重复使用,因此我想将其导入到根App.vue文件并在那里进行处理。它正在工作…之类的。
它可以很好地显示消息/警报,但是我希望它在设置的秒数后隐藏/消失/蒸发。或者,单击按钮,它会隐藏/消失/蒸发-我在下面的“警报组件”示例中显示了此按钮。经过一段预定义的时间后,我根本无法获得隐藏,并且单击和隐藏有效,但是取消隐藏也会产生问题。我在App.vue文件中使用setTimeout方法在5秒钟后自动隐藏,并且什么也不会发生,我认为该方法在导入Alert模块之前就已触发……我认为。
到目前为止,这是我的代码…似乎是一个简单的任务,但在过去的几个小时中,它一直困扰着我:
应用组件:
<template>
<div id="app">
<alert v-if="alert" v-bind:message="alert"></alert>
<router-view></router-view>
</div>
</template>
<script>
import Alert from './components/frontend/alert'
export default {
name: 'App',
data() {
return {
alert: ''
}
},
updated: function() {
if(this.$route.query.alert){
this.alert = this.$route.query.alert;
// This was for me to test the click even - PREFER AUTO HIDE AFTER A FEW SECONDS
// This returns an error on form submit - see error below
document.querySelector('.alert').style.display = 'block';
}
},
components: {
'alert': Alert
}
} …Run Code Online (Sandbox Code Playgroud) 我有这个功能,我试图弄清楚/修复,似乎无法找出问题/无法找到一种方法让它工作.
基本上我的CMS正在吐出我想要的某些href:
第1部分)更改目标href URL
第2部分)更改按钮的文本
现在我只有2个这种类型的按钮实例,所以这是在我的控制台中打印的内容:
第1部分)对于这部分,我得到了正确的网址,没有我要删除的字符.
第2部分)按钮文本的两个实例(参见全部),然后是第一个按钮的btnParent的正确变量,然后是第二个按钮,最后是"Products"的一个实例.
我的问题是,我无法弄清楚如何:
第1部分)将剥离的URL作为每个函数发送回其各自按钮的href.
第2部分)让each()函数为每个实例打印出新文本"See All + BLAH + Products",然后将新文本附加到相应的按钮.
这是代码:
function viewMoreBtn() {
var btnMain = $("li:contains('See All')");
var btnText = $("li:contains('See All')").text();
var btnParent = $("li:contains('See All')").parent('ul').prev('li').text();
// PART 1 - STRIP LINK URL OF -_-// CHARACTERS
$.each(btnMain, function(i, v) {
v = $(this).find('a').attr('href').replace('-_-//', '');
console.log(v);
});
// PART 2 - ADD LABEL TO HTML TEXT OF BTN
$.each(btnMain, function(index, value) {
value = (btnText + …Run Code Online (Sandbox Code Playgroud)javascript ×4
asynchronous ×1
each ×1
function ×1
jquery ×1
json ×1
navigation ×1
return ×1
settimeout ×1
toggle ×1
vue.js ×1