热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Nodejs异步编程之Promiseschaining

1.案例一1.1.案例描述resolve()函数的输入参数:无用户函数函数的返回值:无函数书写形式:完整Promise:1chain:

1. 案例一


1.1. 案例描述

resolve()函数的输入参数:无
用户函数函数的返回值:无
函数书写形式:完整
Promise: ×1
chain: ×1

1.2. 源代码 “case1.js”

let promise = new Promise(function(resolve, reject){console.log('Initialize a Promise to Complete Five Things Sequentially 1 -> 2 -> 3 -> 4 -> 5 as follows:');resolve();}
);promise.then(function(){console.log("Thing 1");}
).then(function(){console.log("Thing 2");}
).then(function(){console.log("Thing 3");}
).then(function(){console.log("Thing 4");}
).then(function(){console.log("Thing 5");}
)

1.3. 运行结果

$ node case1.js
Initialize a Promise to Complete Five Things Sequentially 1 -> 2 -> 3 -> 4 -> 5 as follows:
Thing 1
Thing 2
Thing 3
Thing 4
Thing 5



2. 案例二


2.1. 案例描述

resolve()函数的输入参数:无
用户函数函数的返回值:有
函数书写形式:完整
Promise: ×1
chain: ×1

2.2. 源代码 “case2.js”

let promise = new Promise(function(resolve, reject){console.log('Initialize a Promise to Complete Five Things Sequentially 1 -> 2 -> 3 -> 4 -> 5 as follows:');resolve();}
);promise.then(function(){var value=1;console.log("Thing 1, value: ", value);return value;}
).then(function(value){value = value + 1;console.log("Thing 2, value: ", value);return value;}
).then(function(value){value = value + 1;console.log("Thing 3, value: ", value);return value;}
).then(function(value){value = value + 1;console.log("Thing 4, value: ", value);return value;}
).then(function(value){value = value + 1;console.log("Thing 5, value: ", value);return value;}
)

2.3. 运行结果

$ node case2.js
Initialize a Promise to Complete Five Things Sequentially 1 -> 2 -> 3 -> 4 -> 5 as follows:
Thing 1, value: 1
Thing 2, value: 2
Thing 3, value: 3
Thing 4, value: 4
Thing 5, value: 5





其他


案例描述

resolve()函数的输入参数:无
用户函数函数的返回值:无
函数书写形式:简化
Promise: ×1
chain: ×1

源代码 “case.js”

let promise = new Promise((resolve, reject) => {console.log('Initialize a Promise to Complete Five Things Sequentially 1 -> 2 -> 3 -> 4 -> 5 as follows:');resolve();}
);promise.then(() => {console.log('Thing 1');;}
).then(() => {console.log('Thing 2')}
).then(() => {console.log('Thing 3')}
).then(() => {console.log('Thing 4')}
).then(() => {console.log('Thing 5')}
)

运行结果

$ node case.js
Initialize a Promise to Complete Five Things Sequentially 1 -> 2 -> 3 -> 4 -> 5 as follows:
Thing 1
Thing 2
Thing 3
Thing 4
Thing 5


推荐阅读
  • 本文详细探讨了使用纯JavaScript开发经典贪吃蛇游戏的技术细节和实现方法。通过具体的代码示例,深入解析了游戏逻辑、动画效果及用户交互的实现过程,为开发者提供了宝贵的参考和实践经验。 ... [详细]
  • C++ 异步编程中获取线程执行结果的方法与技巧及其在前端开发中的应用探讨
    本文探讨了C++异步编程中获取线程执行结果的方法与技巧,并深入分析了这些技术在前端开发中的应用。通过对比不同的异步编程模型,本文详细介绍了如何高效地处理多线程任务,确保程序的稳定性和性能。同时,文章还结合实际案例,展示了这些方法在前端异步编程中的具体实现和优化策略。 ... [详细]
  • 在深入研究 React 项目的过程中,特别是在探索 react-router 源码时,我发现了其中蕴含的中间件概念。这激发了我对中间件的进一步思考与整理。本文将详细探讨 Redux 中间件的原理及其在实际项目中的应用,帮助读者更好地理解和使用这一强大工具。通过具体示例和代码解析,我们将揭示中间件如何提升应用的状态管理和异步操作处理能力。 ... [详细]
  • 探索偶数次幂二项式系数的求和方法及其数学意义 ... [详细]
  • ThinkPHP模板中函数调用的开发技巧与实践 ... [详细]
  • 在 Axublog 1.1.0 版本的 `c_login.php` 文件中发现了一个严重的 SQL 注入漏洞。该漏洞允许攻击者通过操纵登录请求中的参数,注入恶意 SQL 代码,从而可能获取敏感信息或对数据库进行未授权操作。建议用户尽快更新到最新版本并采取相应的安全措施以防止潜在的风险。 ... [详细]
  • 本文探讨了使用JavaScript在不同页面间传递参数的技术方法。具体而言,从a.html页面跳转至b.html时,如何携带参数并使b.html替代当前页面显示,而非新开窗口。文中详细介绍了实现这一功能的代码及注释,帮助开发者更好地理解和应用该技术。 ... [详细]
  • 本文将继续探讨 JavaScript 函数式编程的高级技巧及其实际应用。通过一个具体的寻路算法示例,我们将深入分析如何利用函数式编程的思想解决复杂问题。示例中,节点之间的连线代表路径,连线上的数字表示两点间的距离。我们将详细讲解如何通过递归和高阶函数等技术实现高效的寻路算法。 ... [详细]
  • 深入理解排序算法:集合 1(编程语言中的高效排序工具) ... [详细]
  • 在深入研究 UniApp 封装请求时,发现其请求 API 方法中使用了 `then` 和 `catch` 函数。通过详细分析,了解到这些函数是 Promise 对象的核心组成部分。Promise 是一种用于处理异步操作的结果的标准化方式,它提供了一种更清晰、更可控的方法来管理复杂的异步流程。本文将详细介绍 Promise 的基本概念、结构和常见应用场景,帮助开发者更好地理解和使用这一强大的工具。 ... [详细]
  • 本文详细探讨了JavaScript中数组去重的各种方法,并通过实际代码示例进行了深入解析。文章首先介绍了几种常见的去重技术,包括使用Set对象、过滤方法和双重循环等。每种方法都附有具体的实现代码,帮助读者更好地理解和应用这些技术。此外,文中还讨论了不同方法在性能上的优劣,为开发者提供了实用的参考。 ... [详细]
  • 本文深入解析了Java面向对象编程的核心概念及其应用,重点探讨了面向对象的三大特性:封装、继承和多态。封装确保了数据的安全性和代码的可维护性;继承支持代码的重用和扩展;多态则增强了程序的灵活性和可扩展性。通过具体示例,文章详细阐述了这些特性在实际开发中的应用和优势。 ... [详细]
  • 在最近的学习过程中,我对Vue.js中的Prop属性有了更深入的理解,并认为这一知识点至关重要,因此在此记录一些心得体会。Prop属性用于在组件之间传递数据。由于每个组件实例的作用域都是独立的,无法直接引用父组件的数据。通过使用Prop,可以将数据从父组件安全地传递到子组件,确保数据的隔离性和可维护性。 ... [详细]
  • Java环境中Selenium Chrome驱动在大规模Web应用扩展时的性能限制分析 ... [详细]
  • 本文总结了JavaScript的核心知识点和实用技巧,涵盖了变量声明、DOM操作、事件处理等重要方面。例如,通过`event.srcElement`获取触发事件的元素,并使用`alert`显示其HTML结构;利用`innerText`和`innerHTML`属性分别设置和获取文本内容及HTML内容。此外,还介绍了如何在表单中动态生成和操作``元素,以便更好地处理用户输入。这些技巧对于提升前端开发效率和代码质量具有重要意义。 ... [详细]
author-avatar
Utopia
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有