javascript的setTimeout函数让我重新评估我对javascript知之甚少。今天早些时候我遇到了一个for循环,如下所示:
for (i = 0; i < length; i++) {
setTimeout(executeOtherCode, 5000)
}
我期望这段代码执行executeOtherCode函数,“休眠”5秒,然后继续下一次迭代。相反,我得到的是executeOtherCode同时执行长度时间。
因此,根据我的理解,setTimeout是一个异步函数调用。这是正确的吗?然而,如果我要执行一个常规函数,我们称其为hugeFunction(),这需要
我似乎无法调和javascript执行序列的技术流程和回调的概念。我一直在使用回调,但我对执行流程并不放心,因为回调的想法和javascript的顺序执行之间似乎存在矛盾。这个链接解释了回调并给出了例子,但当我遵循代码的时候,我看到了一个矛盾。
getData('http://fakedomain1234.com/userlist', writeData);
document.getElementById('output').innerHTML += "show this before data ...";
function getData(
我很好奇是否所有的javascript回调都是异步的,还是只有在某些情况下才是这样。另外,我确信是什么使javascript代码异步(或使用异步javascript的方式)在浏览器和nodejs之间有所不同,所以我想知道在每种情况下什么才是真正的异步javascript。
我的印象是,在下面的场景中,我实际上并不是在编写异步代码。
function addOne(value){
value = value + 1;
return value;
}
function simpleMap(values, callback){
for(i = 0; i < values.leng
我是新人(两天!)在JavaScript的世界里,我以前唯一的编码经验是在Java中,语句的执行是按顺序进行的。我理解,或者至少我已经读过JavaScript是异步的,这意味着如果有一条语句需要很长时间才能执行,那么下一条语句将被执行,而不会为第一条语句阻塞程序。我遇到了回调(其实很多!!)但我看不出如何用它们来决定执行的顺序。我编写了一段代码,只是为了了解它是如何实现的,我当然需要一些帮助。
console.log("Beginning");
function Test(callback){
setTimeout(function(callback){
我不理解javascript回调的一些东西。我想在Java中做一些类似DAO的事情,在那里我操纵我的数据,然后在我的控制器中调用DAO对象。但在javascript中,我的代码是这样的:
DAO
function DAO() {
this.getData = function(arg1, arg2, callbackSuccess, callbackError) {
var data = null;
// do something to get data. If ok then call callbackSuccess
callback
这个图案有名字吗?我在JavaScript中写过几次这样的东西,最近我发现自己是用C#写的。问题是,我想这已经在一个我不知道该找什么的库中实现了。
在伪代码中,如下所示:
if (null != referenceToPreviousRequest) {
referenceToPreviousRequest.cancel();
}
referenceToPreviousRequest = setTimeout(function() {
//The thing I ultimately want to do
}, 1000 /*The delay after the last
我是javascript的初学者,在传递函数和诸如此类的东西时,我仍然很难理解。我需要在一个回调函数中设置一个特定值,然后在该函数执行完成后返回它。但是,在到达return语句之前,此函数似乎从未执行过。下面是一个简化的示例:
function otherfunction(somefunction) {}
function foo() {
var bar = 'random value';
otherfunction(function() {
bar = 'correct value';
});
return bar;
}
cons
我是JavaScript的新手,从各种资源中我了解到,如果JavaScript函数与回调耦合在一起,则它们是异步的。在web上严格搜索10+ days之后,我找不到关于JavaScript中回调是如何异步运行的解释。我们给出了AJAX的一些例子,但它们没有给出一个明确的答案,有人能解释一下JavaScript中的回调是如何针对下面的代码异步运行的吗?
function myFunc(a,b,callback){
var callbackValue = callback();
var add= a+b;
var subt= a-b;
var mult= a*b;
我不确定我的问题是否是主观/客观的,但作为一个JavaScript新手,我经常遇到这个问题。所以我要开始了。
我习惯于编写C#,所以我的JavaScript结构看起来像C#。正因为如此,我认为这会产生问题;-)让我们举一个简单的例子,我今天再次遇到了我的问题:
MyLibrary.fn.InitAddEntityForm = function () {
$('a#btnAddEntity').click(function () {
//post data and receive object with guid and isPersisted b
我正在尝试创建一个有时间延迟的提示符,然后在表单的其他区域中使用提示符中写入的值。我写了一些javascript代码,但我认为我做错了一件小事情,因为目前提示和延迟正在工作,但因为使用了setTimeout函数,这是在表单中显示的内容,而不是提示的内容。这是我的Javascript?
var name = setTimeout(function(){ prompt("What is your name?", "Type your full name here")},750);
document.write("Document Written By: &
我很好奇什么被认为是更好的风格/做某事的正确方式。
在javascript中,我可以执行以下操作:
function one() {
two(param, function(ans){
// do more work
});
}
function two(param, callback) {
var answer;
//do work
callback(answer);
}
但只要简单地返回答案,我就可以得到一个类似的结果:
function one() {
var ans = two(param);
// do mor
我正在寻找一种在JavaScript中执行多个函数并强制它们按顺序运行的方法。实现这一目标的最直接的方法是使用回调函数(这是本论坛和其他地方最常见的建议)。回调函数的问题是,生成的代码很容易读取,因为结果可能是许多嵌套回调函数。我想知道下面的代码是否也会按顺序执行:
function doSomeThingOne(){
//do something intense here that takes quite some processor time
void(0); //dummy statement for illustration purposes only
return true;
我已经看到了很多包含setTimeout、AJAX调用等异步javascript的函数示例。
显然,这些都有一定的延迟,这意味着脚本的流会受到影响。但我在想,如果我有这样的东西:
function init() {
this.initSlider();
this.testLog();
}
function initSlider() {
// find multiple items and build up a slider instance
// for each of these elements.
}
function testLog() {
将函数设为异步会使其异步吗?
我开始使用async-await代替promise chain。我做了一些像这样的事情
async function f(){
let r = await first();
let d = await sec(r);
return d;
}
在调用此函数时,我能够看到所有代码都是异步执行的。但是在我读到的一些老文章中,我们不能在JavaScript中创建异步函数。那么,使函数异步是否会使其异步呢?
我希望在其他所有操作(其他JavaScript函数和CSS)运行之后调用一个JavaScript函数。这个函数改变了我正在创建的幻灯片的CSS。
我已经将函数添加到我的HTML文件中:
function loadFullSlideShow {
alert('If I remove this alert this would not work');
$('#background').width('100%');
$('#background').height("auto");
$('#
所以,我一边玩着Google Calendar API,一边学习Javascript,我就是不明白这段代码是如何工作的:
var entriesResult = [];
var data = new Date(2010,3,22,17,0,0);
var callback = function(result) {
var entries = result.feed.getEntries();
if (entries.length != 0) {
entriesResult = eventsManager(entries, 0, data);
我想重定向到网站lilas.com在动画播放后,这是在javascript。我不太理解javascript,需要帮助。 我想在此handleComplete函数完成后重定向,并等待3秒。 function handleComplete()
function handleComplete()
{
exportRoot = new lib.Lilas();
stage = new createjs.Stage(canvas);
stage.addChild(exportRoot);
createjs.Ticker.setFPS(lib.properties.