如何从异步调用返回响应?

我有一个函数 foo , 它发出 Ajax 请求。如何返回响应? foo 我尝试从回调返回值 success , 并将响应分配给函数内的局部变量并返回该变量, 但这些方法都没有真正返回响应。 function foo() { var result; $.ajax({ url: '...', success: function(response) { result = response; // return response; // <- I tried that one as well } }); return result; } var result = foo(); // It always ends up being `undefined`. ……

共30个回答,已解决, 标签: javascript ajax asynchronous xmlhttprequest event-loop
循环中的 JavaScript 闭包--简单的实际示例

var funcs = []; for (var i = 0; i < 3; i++) { // let's create 3 functions funcs[i] = function() { // and store them in funcs console.log("My value: " + i); // each should log its value. }; } for (var j = 0; j < 3; j++) { funcs[j](); // and now let's run each one to see } 它输出: > 我的价值: 3 我的价值: 3 我的价值: 3 而我希望它输出: > 我的值: 0 我的值: 1 我的值: 2 -------------------------------------------------------------------------------- 当运行函数的延迟是由使用事件侦听器引起时, 也会出现同样的问题: var butt ……

共30个回答,已解决, 标签: javascript loops closures
如何从异步调用返回响应?

我有一个函数 foo , 它发出 Ajax 请求。如何返回响应? foo 我尝试从回调返回值 success , 并将响应分配给函数内的局部变量并返回该变量, 但这些方法都没有真正返回响应。 function foo() { var result; $.ajax({ url: '...', success: function(response) { result = response; // return response; // <- I tried that one as well } }); return result; } var result = foo(); // It always ends up being `undefined`. ……

共30个回答,已解决, 标签: javascript ajax asynchronous xmlhttprequest event-loop
动态创建的元素上的事件绑定?

我有一点代码, 我在其中循环浏览页面上的所有选择框, 并 .hover 将事件绑定到它们, 以便对它们的宽度进行一些调整 mouse on/off 。 这发生在页面准备好, 工作得很好。 我遇到的问题是, 在初始循环之后通过 Ajax 或 DOM 添加的任何选择框都不会绑定事件。 我已经找到了这个插件 (Jquery 实时查询插件 [http://brandonaaron.net/docs/livequery/#getting-started]), 但在我用插件向我的页面添加另一个5k 之前, 我想看看是否有人知道这样做的方法, 无论是直接使用 jquery 还是通过其他选项。 ……

共23个回答,已解决, 标签: javascript jquery events unobtrusive-javascript
如何在回调中访问正确的 "此"?

我有一个注册事件处理程序的构造函数: function MyConstructor(data, transport) { this.data = data; transport.on('data', function () { alert(this.data); }); } // Mock transport object var transport = { on: function(event, callback) { setTimeout(callback, 1000); } }; // called as var obj = new MyConstructor('foo', transport); 但是, 我无法访问 data 回调中创建的对象的属性。它看起来 this 不像是指创建的对象, 而是指另一个对象。 我还尝试使用对象方法, 而不是匿名函数: function MyConstructor(data, transport) { this.data = data; transport.on('dat ……

共10个回答,已解决, 标签: javascript callback this
为什么在函数内部修改变量后, 它没有改变?-异步代码引用

鉴于以下示例, 为什么 outerScopeVar 在所有情况下都未定义? var outerScopeVar; var img = document.createElement('img'); img.onload = function() { outerScopeVar = this.width; }; img.src = 'lolcat.png'; alert(outerScopeVar); var outerScopeVar; setTimeout(function() { outerScopeVar = 'Hello Asynchronous World!'; }, 0); alert(outerScopeVar); // Example using some jQuery var outerScopeVar; $.post('loldog', function(response) { outerScopeVar = response; }); alert(outerScopeVar); // Node.js example var outerScopeVar ……

共6个回答,已解决, 标签: javascript asynchronous
在 Set间隙中使用 "反应状态" 挂钩时状态不更新

我正在尝试新的反应钩, [https://reactjs.org/docs/hooks-intro.html]并有一个时钟组件与计数器, 这应该是增加每一秒钟。但是, 该值不会超过1。 function Clock() { const [time, setTime] = React.useState(0); React.useEffect(() => { const timer = window.setInterval(() => { setTime(time + 1); }, 1000); return () => { window.clearInterval(timer); }; }, []); return ( Seconds: {time} ); } ReactDOM.render(, document.querySelector('#app')); ……

共4个回答,已解决, 标签: javascript reactjs react-hooks
如何将角2前置快速 JS 变量导出到角2分量?

根据我的研究, 我正在用我的代码做下面的工作。目前, 我得到以下错误在我的控制台, 我不明白为什么。我按行跟踪教程。 任何帮助将不胜感激。我试图从我的例. js 文件中导出 nameid 变量, 以便在角度组件中使用。 angularar-madisp/concontoutes. js var xmldoc = require('xmldoc'); var DOMParser = require('dom-parser'); module.exports = function (app, config, passport) { app.get('/', function (req, res) { res.redirect('/home') }); app.get('/login', passport.authenticate(config.passport.strategy, { successRedirect: '/', failureRedirect: '/login' }) ); app.post ……

共3个回答, 标签: javascript angular typescript express
在不重新分配命名参数的情况下调用函数

我有一个命名参数的函数。 我试图从不同的事件调用相同的函数, 而不会覆盖以前分配的其他函数的值。 我尝试过将以前单击的按钮的值存储在变量中, 但这不起作用。 是否有一种方法可以调用函数, 一次分配一个参数而不覆盖其他参数? function mainFun({ val1, val2, val3 }) { var value1 = val1, value2 = val2, value3 = val3; // console.log(value1, value2, value3); console.log(val1, val2, val3); } First Event Second Event Third Event 试图实现: > 在第一个事件 > 调用方1未定义 在第二个事件 ≫ 呼叫者1呼叫者2未定义 关于第三项事件 ≫ 呼叫者1呼叫者2呼叫者3 提前感谢! ……

共3个回答, 标签: javascript function arguments parameter-passing
使用 nod. js/eers/javascript 在网页中运行异步命令

编辑: 使用 BrowserWindow 。 在一个接一个的网页中启动 javascript 命令的最佳方法是什么?(异步, 而不是同步) 例如, document.write 由事件触发的几个 keypress 。 document.write("line 1"); wait_for_key_press(); document.write("line 2"); wait_for_key_press(); document.write("line 3"); wait_for_key_press(); document.write("line 4"); ... function wait_for_key_press(){ ... } ……

共2个回答,已解决, 标签: javascript node.js electron
更新内部 html 后的可编辑 div 设置光标位置

我有一个拼写检查解决方案, 它使用可编辑的内容, div 并 span 在拼写错误的单词周围插入标记。每次更新内部 html 时 div , 光标都会移动到. div 我知道我可以将光标移动到 div 末尾, 如果用户在句子末尾添加新单词 (下面的代码)。 > 旧文本: 这是一个拼写检查器 新文本: 这是一个拼写检查器解决方案 var range = document.createRange(); range.selectNodeContents(element[0]); range.collapse(false); var sel = window.getSelection(); sel.removeAllRanges(); sel.addRange(range); 但是, 如果用户在句子中间添加单词, 我将无法保留光标位置。 > 旧文本: 这是一个拼写检查器 新文本: 这是一个新的拼写检查器 在上述情况下, 光标将在 div "new" 之后结束。 如何保留光标位置?由于我正在更新 html 并添加节点, 因此在更新之前保存范围并将其添加到选择对象的工作不正常。 提前感谢你。 ……

共2个回答, 标签: javascript html dom contenteditable cursor-position
Vue 不更新计算, 除非被迫

我必须添加额外的行, 迫使 Vue 重新计算计算的道具, 特别是: var foo = this.groups; this.groups = {}; this.groups = foo; 在这把小提琴上可以看到: https://jsfiddle.net/8bqv29dg/ [https://jsfiddle.net/8bqv29dg/] 。如果没有这些, available_groups 则不会更新。 为什么会这样, 更新的清洁方式是什么 available_groups groups ? 曾尝试添加 groups 到 "深度观看", 但它没有帮助。 ……

共2个回答, 标签: javascript vue.js
无法解析模块 "react-redus\ libentents\ connect"

我正在将我的项目更新到最新版本 react, react-redux, react-dom, etc , 并遇到以下错误: ERROR in ./app/components/Modules/AdsBanner/index.js Module not found: Error: Cannot resolve module 'react-redux/lib/components/connect' in /home/cpt/Desktop/prod/local/app/components/Modules/AdsBanner @ ./app/components/Modules/AdsBanner/index.js 51:15-60 下面是代码中冲突来自的部分: import connect from 'react-redux/lib/components/connect'; //some code export default connect(({regular}) => ({regular}))(AdBanner); 你能告诉我是否值得回滚到以前的版本 react-redux , 或者重写这部分 ……

共1个回答, 标签: javascript reactjs redux react-redux
是否有一个 for 循环等待, 直到一个时间间隔已清除

我有一个 for 循环运行的节点列表。我试图运行通过节点列表, 并触发一个点击, 然后我设置了一个时间间隔, 等待弹出窗口, 然后我想触发弹出窗口中的点击。 我的问题是, 我需要每次迭代等待, 直到加载弹出窗口和弹出窗口中的项被单击, 然后再去下一次迭代。希望这是有道理的。 这是我的密码 let checkSteats = () => { const seats = document.querySelectorAll(seatSectionSelector); if (seats.length < maxSeatCount) { maxSeatCount = seats.length; } if (seats.length > 0) { [].forEach.call(seats, (seat, index) => { /** * WE NEED TO CLICK WAIT FOR A CHANGE IN THE RESPONSE OR POP UP BEFORE WE GO INTO THE NEXT ITERATION */ console.l ……

共1个回答, 标签: javascript html node.js for-loop intervals
如何将该值入输入框?

介绍 我想得到当前的时间后, 点击点击和开机自检的值输入 (文本) 框。 注意 假定包括引导样式表。 [input box]点击 Date. php Date: click gettime. php if(isset($_POST['click'])) { date_default_timezone_set('xxx/xxx); $date = date('Y-m-d H:i:s'); //debugging //echo $date; } 预期成果 [CURRENT TIME]点击-> 显示当前时间后点击 ……

共1个回答, 标签: javascript php html
无法从 js 对象中删除键值对

我从 mongodb 查询接收 js 对象, 我想使用删除 optr 从对象中删除一个键值对, 但没有删除并且正在进行 "正在设置" 值, 但如果部件正在成功运行, 则在其中的代码。(使用节点) 我已经尝试使用删除 optr 删除..。但是, 它适用于未定义的, 但我设置为 "关注" 的值不会反映在对象中。 baseData.numFollowers = baseData.followers.length; baseData.numFollowing = baseData.following.length; if(forWhom === 'self'){ delete baseData.following; delete baseData.followers; }else if(forWhom === 'other'){ const selfUID = req.body.self_id; baseData.isFollowing = baseData.followers.includes(selfUID); ……

共1个回答,已解决, 标签: javascript arrays node.js json mongodb
我的计算器在发出警告后不给出响应

我是新的, 试图使计算器, 在这里它是如何工作的: 当用户点击如果屏幕是空的, 我想屏幕上说 "输入值" 问题是: 我这样做后, 我不能改变屏幕, 当我点击任何按钮 这里是代码: const screen = document.querySelector(".output") const btns = document.querySelectorAll(".btn") const equal = document.querySelector(".equalize") const clear = document.querySelector(".clear") btns.forEach(item => { item.addEventListener("click", function() { let warning = document.querySelector(".warning") let number = item.getAttribute("id") if (screen.innerHTML === warning) { screen.innerHTML ……

共0个回答, 标签: javascript
仅在单击按钮后加载工作

我为我的增量游戏做了一个 "保存和加载" 功能。 它们都可以工作, 但当我加载数据时, 我必须单击一个按钮来 "更新" 值。这不是主要货币 (废料) 的问题, 但问题在于变量收集器、集合成本、无人机和无人机成本。 这两个部分都有相同的代码, 所以我不明白为什么不应该自动更新。 单击按钮时, 将调用 "保存和加载" 功能 我不知道我是否需要显示更多的代码。我对这整个场景:) 有点陌生。 function save(){ var save = { scrap: scrap, collector: collector, collectorCost: collectorCost, drone: drone, droneCost: droneCost }; localStorage.setItem("save",JSON.stringify(save)); }; function load(){ var savegame = JSON.parse(localStorage.getItem("save")); if(typeof savegame.s ……

共0个回答, 标签: javascript html
如何在单击父节点时打开子节点

我正在吃 jstree (版本 3.0.0)。我和杰森一起生成了这棵树。这棵树有一层深。它看起来像 * Parent1 * 儿童1 * 儿童2 * Parent2 * 儿童3 * 儿童4 如果我点击每个孩子, 就会显示相应的信息。 问题: 我没有要为父级显示的内容。因此, 如果我单击父级, 则应自动选择其第一个子级。有什么办法可以做到这一点吗? 如果 Parent1 点击, 则 Child1 应显示内容, 并为 Parent2 其显示内容 Child3 。 我尝试使用单击事件和添加和删除类执行此操作, 但没有得到所需的结果。请参阅下面的代码: I'm Dog I'm Lion I'm Mobile I'm Lappy var arrayCollection = [ {"id": "animal", "parent": "#", "text": "Animals", "state": {"selected": true}}, {"id": "device", "parent": "#", "text": "De ……

共0个回答, 标签: javascript jquery jstree
从不同的模块为同一令牌动态注入不同的服务实例

我有多个模块说 SchoolModule UniversityModuleSharedModule SharedModule必须 BaseService 同时和 SchoolModule UniversityModule 提供者扩展 现在, 当我加载我 SchoolModule 的, 我想 BaseService 应该得到的实现 schoolService , 同样的去 UniversityModule 结构 app -- SharedModule -- base.service -- secret.service uses base.service -- shared.component uses secret.service -- SchoolModule -- school.component uses shared.component -- school.service -- UniversityModule -- university.component uses shared.compone ……

共0个回答, 标签: javascript angular typescript dependency-injection