【Javascript-使用Promise而不拒绝它会导致内存泄漏吗?】教程文章相关的互联网学习教程文章

javascript – node.js promise:嵌套在then()链中的promise的then()不会被解析【代码】

编写一个演示脚本来理解promises我嵌套了多个promises(使用promises.all()在then()之后继续处理所有promises之后继续).嵌套的promises的then()s无法解析:var Promise = require("bluebird");var array = [];// push promises onto array new Promise(function(resolve, reject) {setTimeout(function() { for (var i = 5 - 1; i >= 0; i--) {array.push(returnapromise());console.log("pushed promise number", i, "onto array")...

javascript – 我可以假设承诺中的错误会冒泡到新的Promise并抓住它吗?【代码】

我有一个函数,如果它找到任何东西,它将查找缓存,否则然后它将继续获取数据并设置缓存.这是非常标准的.我想知道错误是否发生在最内部的功能上,它是否会保持泡沫到最外层的承诺?所以,我可以只有一个而不是一个. 这是我的代码. 我正在使用Bluebirdvar _self = this;return new Promise(function(resolve, reject) {_self.get(url, redisClient).then(function getCacheFunc(cacheResponse) {if(cacheResponse) {return resolve(JSON....

javascript – 为什么使用`eventEmitter`而不是promise【代码】

我在一本书中找到了以下例子:function User() {EventEmitter.call(this);this.addUser = function (username, password) {// add the user// then emit an eventthis.emit("userAdded", username, password);}; }var user = new User(); var username = "colin"; var password = "password";user.on("userAdded", function(username, password) {console.log("Added user " + username); });user.addUser(username, password);在我...

javascript – pg-promise:将函数作为参数传递给func()【代码】

我使用pg-promise访问我们的postgres数据库.我想调用接受几何数据类型(PostGIS)的存储proc foo(geom).我只有lats / lngs开头,所以我想用postGIS转换它们. 这看起来像这样:db.func('foo', 'ST_MakePoint(' + location.lat + ', ' + location.lng + ')').then((result) => {console.log(bar);});我现在收到一个错误,抱怨我的几何体无效(转换不会发生).我确信ST_MakePoint适用于我拥有的值.我猜它在数据库上执行时将其解释为字符串而...

javascript – 将拒绝()跳过Promise中的所有关注then()【代码】

我一直很好奇,如果Promise在任何位置都被拒绝,那么下面的()仍然会被执行吗?以下面的代码为例:Promise.reject('reJECTed') .then(() => {console.log('before resolve()');return Promise.resolve('reSOLVed'); }) .then((msg) => {console.log('reSOLVed inside 1st then()');console.log(msg); }, (msg) => {console.log('reJECTed inside 1st then()');console.log(msg); }) .then((msg) => {console.log('reSOLVing inside 2n...

javascript – Promise.then不执行【代码】

在以下代码块中,仅将“第一个承诺”记录到控制台.这是为什么?我试图编写一个测试来弄清楚.tatch()在.catch()之后的执行情况,但是除了第一个承诺之外什么也没有.这里发生了什么?function foo() {return new Promise((resolve, reject) => {return console.log('first promise')}).then(() => console.log('first then')).catch(() => console.log('catch block')).then(() => console.log('last block')).then(() => resolve)}foo...

如何在JavaScript中使用递归函数时处理promise【代码】

我想以递归方式记录目录中的所有文件,并在记录所有文件时返回确认.这是目录结构. 样品│app.js└───Temp1││temp1.js│└───Temp2││temp2.??js 这是代码 “`let readDirectory = function(dirname){return new Promise((resolve,reject)=>{fs.readdir(dirname,(err,files)=>{if(err) reject(err);files.forEach(file=>{fs.stat(`${dirname}/${file}`,(err,stats)=>{if(stats.isDirectory()){readDirectory(`${dirname}/${...

javascript – Promise可以保持待处理状态多长时间?【代码】

我在Angular(4)项目中使用了Promises,我对它们有一个问题,我在文档中找不到对它的响应. 当我创建一个Promise时,我基本上等待服务/派对的异步回答.但是,我应该期待这个承诺保持待定状态多长时间?是否有任何机制会在一段时间后终止它?这种等待/待定的概念有多可靠? 让我们假设我需要从忙碌的服务中获取一些数据,即使在等待几分钟后也可以回答,可能更多,无论响应的计算是资源密集型进程还是该服务与另一个正在响应的服务相关联非常...

javascript – chai-as-promised:单个测试中的多个expect语句【代码】

我正在使用chai-as-promised测试一些承诺.我的问题是我不确定如何在一次测试中使用多个期望语句.为了使expect().to.be.fulfilled正常工作,我需要返回它,如下所示:it('test', () => {return expect(promise).to.be.fulfilled }…或使用通知,如下所示:it('test', (done) => {expect(promise).to.be.fulfilled.notify(done) }问题来自于我需要检查的另一件事,例如调用某个函数,如下所示:it('test', (done) => {var promise = doSom...

在Javascript中与缓冲池大小同时执行promises【代码】

我有一个带有promise的函数,每次都必须使用不同的params执行n次.我想以一种方式链接承诺,即脚本当时总是处理3-4个承诺. 我用promise.all做了它,它同时执行3个,当所有的promises结算时,它继续下一个3. 如何使其工作,当3中的一个解决它立即与另一个开始,但总是在当时最大3工作?for( var i = 0; i < tasks.length; i++){if( i > 0 && i%3 == 0 ){await Promise.all([doTaskFunction(tasks[i]),doTaskFunction(tasks[i-1]),doTaskFunc...

javascript – Nodejs与promise平行【代码】

我有这样的字典: {go:[‘去’,’跑’],爱:[‘激情’,’喜欢’]} 密钥的值是其同义词. ‘getSynonymWords(word)’是一个异步函数,它返回一个promise,其中的值是与传递的参数对应的同义词列表.我如何循环遍历对象以递归方式获取另一个对象,如下所示:{went: [], run: [], passion: [], like: []}这是我的一段代码:function getRelatedWords(dict) {return new Promise(function(resolve) {var newDict = {}; for(var key in dict...

javascript – 用嵌套的Promises编写干净的代码【代码】

我正在编写一个与Apple通信以验证收据的应用.他们有一个沙盒和生产网址,你可以发布到. 与Apple通信时,如果您收到21007状态,则表示您要发布到生产URL,当您应该发布到沙箱时. 所以我写了一些代码来促进重试逻辑.这是我的代码的简化版本:var request = require('request'), Q = require('q');var postToService = function(data, url) {var deferred = Q.defer();var options = {data: data,url: url};request.post(options, functio...

javascript – 为什么我的ES6 Promise Rejection需要立即使用以避免出现控制台错误消息?【代码】

请注意:以下是在不同浏览器上表现不同的问题.所以这可能是一个浏览器实现问题.无论如何,我会喜欢一些建议. 在我的应用程序中,我创建了一些承诺,我可能不会消费,直到将来很长一段时间.哪个应该没问题,毕竟它们是承诺. 如果解决了存储的承诺,则没有问题.我可以根据自己的需要尽可能多地消费它,也可以随心所欲地消费它.正如所料. 但是,如果被拒绝的承诺被拒绝,则存在问题.除非我在制作完成后立即消除拒绝(不确定多久),否则Chrome或Fi...

JavaScript高级语法之异步(Promise)

目录 1 JavaScript的异步执行 1.1 概述 1.2 回调函数 1.3 事件监听 1.4 发布/订阅 1.5 异步操作的流程控制 1.6 串行执行 1.7 并行执行 1.8 并行与串行的结合 2 Promise对象 2.1 简介 2.2 Promise接口 2.3 Promise对象的生成 2.4 用法辨析 3 Promise的应用 3.1 加载图片 3.2 Ajax操作 3.3 小结 Promise是JavaScript异步操作解决方案。介绍Promise之前,先对异步操作做一个详细介绍。 1 JavaScript的异步执行 1.1 概述 Javascript语言...

javascript ES6 新特性之 Promise,ES7 async / await【代码】

es6 一经推出,Promise 就一直被大家所关注。那么,为什么 Promise 会被大家这样关注呢?答案很简单,Promise 优化了回调函数的用法,让原本需要纵向一层一层嵌套的回调函数实现了横向的调用,也就是链式调用。 我们先来看下面的代码:1 function getData(){ 2 setTimeout(()=>{ 3 var name = "zhangsan"; 4 }, 1000) 5 } 6 7 getData(); 在上面的代码中,我们模拟了一个异步时间,一秒后输出 name = "zhangsan"...

PROMISE - 相关标签
JAVASCRIPT - 技术教程分类
JavaScript 教程 JavaScript 简介 JavaScript 用法 JavaScript Chrome 中运行 JavaScript 输出 JavaScript 语法 JavaScript 语句 JavaScript 注释 JavaScript 变量 JavaScript 数据类型 JavaScript 对象 JavaScript 函数 JavaScript 作用域 JavaScript 事件 JavaScript 字符串 JavaScript 运算符 JavaScript 比较 JavaScript 条件语句 JavaScript switch 语句 JavaScript for 循环 JavaScript while 循环 JavaScript break 和 continue 语... JavaScript typeof JavaScript 类型转换 JavaScript 正则表达式 JavaScript 错误 JavaScript 调试 JavaScript 变量提升 JavaScript 严格模式 JavaScript 使用误区 JavaScript 表单 JavaScript 表单验证 JavaScript 验证 API JavaScript 保留关键字 JavaScript this JavaScript let 和 const JavaScript JSON JavaScript void JavaScript 异步编程 JavaScript Promise JavaScript 代码规范 JavaScript 函数定义 JavaScript 函数参数 JavaScript 函数调用 JavaScript 闭包 DOM 简介 DOM HTML DOM CSS DOM 事件 DOM EventListener DOM 元素 HTMLCollection 对象 NodeList 对象 JavaScript 对象 JavaScript prototype JavaScript Number 对象 JavaScript String JavaScript Date(日期) JavaScript Array(数组) JavaScript Boolean(布尔) JavaScript Math(算数) JavaScript RegExp 对象 JavaScript Window JavaScript Window Location JavaScript Navigator JavaScript 弹窗 JavaScript 计时事件 JavaScript Cookie JavaScript 库 JavaScript 实例 JavaScript 对象实例 JavaScript 浏览器对象实例 JavaScript HTML DOM 实例 JavaScript 总结 JavaScript 对象 HTML DOM 对象 JavaScript 异步编程 javascript 全部