草庐IT

异步FIFO

全部标签

javascript - AngularJS 等待 foreach 内的所有异步调用完成

我正在使用angular.forEach遍历一个数组并调用一个非Angularajax库(Trelloclient.js)。客户端确实有“成功”和“错误”回调,但不返回Angular延迟。我想在所有ajax调用完成后执行一个函数。我有以下代码:$scope.addCards=function(listId){varcardTitles=$scope.quickEntryCards[listId].split('\n');angular.forEach(cardTitles,function(cardTitle,key){Trello.post('/cards',{name:cardTi

javascript - Angular Testing 异步管道不会触发可观察的

我想测试一个使用异步管道的组件。这是我的代码:@Component({selector:'test',template:`{{number|async}}`})classAsyncComponent{number=Observable.interval(1000).take(3)}fdescribe('AsyncCompnent',()=>{letcomponent:AsyncComponent;letfixture:ComponentFixture;beforeEach(async(()=>{TestBed.configureTestingModule({declarations:[

javascript - window.scrollTo 是否在 Safari 中异步工作?

最近我发现window.scrollTo在Safari(6.0.5(8536.30.1),MacOS10.8.4)中的行为非常奇怪(在我看来)。它似乎异步工作。我的任务听起来像:制作一些绝对定位的div以固定定位(固定)做一些页面滚动使之前修改过的div绝对定位(取消固定)因此,要取消固定此div,我必须在滚动修改完成后立即执行取消固定例程。在这里我遇到了问题。除了Safari,我检查过的每个浏览器都能正确执行。重现步骤:在Safari中打开任何网页,并确保它至少可滚动100像素,并且初始滚动偏移量为0在开发工具中打开js控制台执行:window.scrollTo(0,100);con

javascript - 如何在 Visual Studio 代码中调试异步/等待?

我想在visualstudiocode中调试包含async/await的js文件,但它提醒我vscode不支持它。我该怎么做才能使vscode支持异步/等待? 最佳答案 截至目前,在2019年,最新的VSCode支持异步/等待调试,只是想分享解决方案,以防止vscode通过“async_hooks.js"和"inspector_async_hook.js"调试nodejs应用程序期间的文件。方法:1)在vscode中按ctrl+p并输入“>launch”,选择“openlaunch.json”2)打开“launch.json”后,只

javascript - 异步函数不在 android 上返回

我遇到一个异步函数在android上运行时不返回而在iOS上运行时正常返回的问题。这是函数:_getLocationAsync=async()=>{let{status}=awaitPermissions.askAsync(Permissions.LOCATION);if(status!=='granted'){this.setState({errorMessage:'Permissiontoaccesslocationwasdenied',});}letlocation=awaitLocation.getCurrentPositionAsync({});this.setState({

javascript - 如何在 OpenCart 中延迟或异步 javascript

我有OpenCart应用程序。Javascripts加载在路径'/catalog/controller//settings.php内的settings.php中,代码类似:$this->document->addScript('catalog/view/theme//lib/lazy/jquery.lazy.1.6.min.js');$this->journal2->minifier->addScript('catalog/view/theme//lib/actual/jquery.actual.min.js','header');$this->journal2->minifier->

javascript - JavaScript location.href 调用是异步的吗?

functionfun(){console.log("Hi");window.location.href="http://www.google.com";console.log("Hello,howareyou");alert("Iamgood");fun1();}functionfun1(){console.log("Whatsup??");}在上面的代码行中,之前调用了location.hrefconsole.log("Hello,howareyou")、alert和fun1()。当我调用fun()时,它会执行location.href下面的所有语句,然后重定向到https://w

javascript - 询问不能直接转换为手动实现的异步迭代的异步生成器的示例

异步生成器使用internalqueue处理同步的next、throw和return方法调用。我试图构建一种情况,其中此队列对于迭代本身的成功是强制性的。因此,我正在寻找一些手动实现异步迭代接口(interface)而不自定义重新实现队列的情况。下面是一个例子,但不是很好,因为没有保持一般的时间一致性,但每一步的迭代结果都是正确的:functionaItsFactory(){leti=1;return{asyncnext(){if(i>5)returnPromise.resolve({value:void0,done:true});constres=awaitfetch(`https:

javascript - 我如何交错/合并异步迭代器?

假设我有一些这样的异步可迭代对象:consta={[Symbol.asyncIterator]:asyncfunction*(){yield'a';awaitsleep(1000);yield'b';awaitsleep(2000);yield'c';},};constb={[Symbol.asyncIterator]:asyncfunction*(){awaitsleep(6000);yield'i';yield'j';awaitsleep(2000);yield'k';},};constc={[Symbol.asyncIterator]:asyncfunction*(){yield

javascript - 为什么无限递归异步函数不会导致堆栈溢出?

我在想当异步函数无限递归地调用自身时会发生什么。我的想法是它不会导致堆栈溢出。但我无法准确指出为什么会这样。constfoo=async()=>{consttxt=awaitPromise.resolve("foo");console.log(txt);foo();}foo();上面的代码无限打印“foo”而不会溢出堆栈。我的想法是代码在概念上类似于下面,它不会导致堆栈溢出,因为对foo()的递归调用在回调内部,对的原始调用foo()将在此之前返回。constbar=()=>{console.log("foo");foo();}constfoo=()=>{setImmediate(ba