NodeJS 中文文档 V0.2.3
System 文件系统 (注:同步与异步方式是指同步或异步于程序执行,并非函数彼此之间的同步关系。) 文件的 I/O 是由标准 POSIX 函数封装而成。需要使用"require('fs')"操作这个类。所有的方法设有异步方式和同步 方式。 异步形式下的方法其最后一个参数,总是一个完整的回调函数(callback)。这个回调函数有那些参数,就取决 于异步方法怎么送入参数,但通常来说,第一个 送入的参数是异常对象。如果是没有任何问题的操作,那么这 个异常对象就变为 null 或者 undefined,表示操作正常。 异步方式的例子: var fs = require('fs'); fs.unlink('/tmp/hello', function (err) { if (err) throw err; console.log('successfully deleted /tmp/hello'); 最新版文档:wiki.grati.org QQ 群:53090214 共同学习 NodeJS,欢迎加入。 25 console.log('successfully deleted /tmp/hello'); 异步函数没有一定的顺序,所以以下例子容易发生错误: fs.rename('/tmp/hello', '/tmp/world', function (err) { if (err) throw err;0 码力 | 62 页 | 542.14 KB | 1 年前3Node.js Manual & Documentation
need to use it. If you do need it, look at the header file deps/libeio/eio.h. libeio,基于 C 的线程池库,用于以异步方式执行阻塞式 POSIX 系统调用。 因为大部分这类调用都在 src/file.cc 中被封装了,你一般不需要直接使 用 libeio。如果必须使用该类库时,可查看其头文件 deps/libeio/eio function is asynchronous. The last parameter callback will be called when the server has been bound. 此函数是异步的。最后一个参数 callback 所指定的回调函数会在服务器绑定 完成后被调用。 See net.Server for more information. 更多信息参见 net.Server。 asynchronous, the server is finally closed when the server emits a 'close' event. 关闭服务器,停止接受新的连接请求。此函数是异步的,当服务器触发一个 'close'事件时才真正被关闭。 server.maxConnections Set this property to reject connections when0 码力 | 153 页 | 1.21 MB | 1 年前3ThinkJS 2.2 中文文档
ThinkJS 是一款使用 ES6/7 特性全新开发的 Node.js MVC 框架,使用 ES7 中 async/await ,或者 ES6 中的 */yield 特性彻底解决了 Node.js 中异步嵌套的问题。同时吸收了国内外众多框架的设 计理念和思想,让开发 Node.js 项目更加简单、高效。 使用 ES6/7 特性来开发项目可以大大提高开发效率,是趋势所在。并且新版的 Node.js 对 ES6/7 特性来开发项目 借助 Babel 编译,可以在项目中大胆使用 ES6/7 所有的特性,无需担心哪些特性当前版本不支 持。尤其是使用 async/await 或者 */yield 来解决异步回调的问题。 //user controller, home/controller/user.js export default class extends think.controller.base success(); } } 上面的代码我们使用了 ES6 里的 class , export , let 以及 ES7 里的 async/await 等特性,虽然 查询数据库和写入 Session 都是异步操作,但借助 async/await ,代码都是同步书写的。最后 使用 Babel 进行编译,就可以稳定运行在 Node.js 的环境中了。 支持 TypeScript TypeScript0 码力 | 277 页 | 3.61 MB | 1 年前3ThinkJS 1.2 中文文档
ThinkJS 是⼀一款⾼高效、简单易⽤用的 Node.js MVC 框架。基于 ES6 Promise 开发,让异步编程更加简单、⽅方便。 ⾃自动启动服务 ⽀支持 Http、命令⾏行、WebSocket、Restful等多种⽅方式调⽤用 CBD 架构,MVC 模式 基于 Promise,异步编程更加简单 封装了 Db, Cache, Session 等常⽤用功能 开发模式下⽂文件修改后⽴立即⽣生效,⽆无需重启 // 调⽤用⽗父级的 init ⽅方法,并将 http 作为参数传递过去 // 额外的逻辑 } } }) 这⾥里说个技巧:⼀一般系统后台都需要⽤用户登录才能访问,但判断⽤用户是否登录⼀一般都是异步的,不可能在每个 Action ⾥里都去判断是否已经登录。 这时候就可以在 init ⽅方法⾥里判断是否已经登录,并且把这个 promise 返回,后续的 action 执⾏行则是在这个 then header action(name, data) 调⽤用其他 Controller 的⽅方法,可以跨分组 Action ⾥里⼀一般会从多个地⽅方拉取数据,如:从数据库中查询数据,这些接⼝口⼀一般都是异步的,并且包装成了 Promise。 我们知道,Promise 会通过 try{}catch(e){} 来捕获异常,然后传递到 catch ⾥里。如: 如果不加 catch,那么出错后,我们将⽆0 码力 | 104 页 | 1.29 MB | 1 年前3全栈⼯程师之路 Node.js
“JavaScript 是世界上使⽤用最⼲⼴广泛 的语⾔言,没有之⼀一,包括后端开发 ⼯工程师也更爱使⽤用 JavaScript。” ——stackoverflow 以前 我们总是喜欢拿异步说事⼉儿 除了性能,其他都是病? 现在我们拿 Node.js 的强⼤大 的⽣生态来炫耀 1、Callback hell 问题 ⺫⽬目前已经很好的解决了。promise / generator 等模板引擎 • Nginx • 玩转【后端】异步流程处理 promise / es6 的 ( generator | yield) / es7 ( async|await ) • 玩转【后端】MongoDB、Mysql 对应的 Node 模块 ⼀一般的前端都⾮非常容易学会,基本 2 周就已经⾮非常熟练了,我 的计划是半年后,让他们接触【异步流程处理】和【数据库】相 关内容,学习后端代码,就可以全栈了0 码力 | 50 页 | 1.35 MB | 1 年前3Egg & Node.js 从⼩⼯坊⾛向企业级开发
在我们的业务场景中,相对较优,⽣生态最活跃,最能被前端接受的 Node.js Base on Koa [2/8] Base on Koa ▸ Koa based framework ▸ 当前解决异步编程最好的 Web 通⽤用框架,洋葱模型 ▸ 所有源代码 100% 掌握并且参与到核⼼心代码贡献 (@fengmk2 @dead_horse) Base on Koa ▸ 类似于 Connect 对于团队架构师,则提供灵活的定制能⼒力力。 团队开发规范 + ⼯工具链 [7/8] 再好的规范,不遵循,你也没辙。 基于 GitHub 的协作模式 ▸ 基于 GitHub 的『⼀一站式 + 硬盘式 + 异步协作』模式 ▸ 提供给程序员的服务,如果能够做到不不转移、不不分散他们的注意⼒力力,就是积了了⼤大德。 ▸ GitLab / GitHub 做到了了,⼀一切以代码为核⼼心,围绕在代码周边的是:需求(issue)、持0 码力 | 70 页 | 7.57 MB | 1 年前3ThinkJS 3.0 中文文档
Middleware、Extend、Adapter 等扩展方式 基于 Koa 2.x 开发 性能优异,单元测试覆盖程度高 内置自动编译、自动更新机制,方便开发环境快速开发 直接使用 async/await 解决异步问题,不支持 */yield 架构 ThinkJS 3.0 Documentation 快速入门 快速入门 借助 ThinkJS 提供的脚手架,可以快速的创建一个项目。为了可以使用更多的 ES6 模块名,多模块项目下使用 获取控制器的实例,不存在则报错。 think.beforeStartServer(fn) fn {Function} 要注册的函数名 服务启动之前要注册执行的函数,如果有异步操作,fn 需要返回 Promise。 启动自定义 当通过 npm start 或者 node production.js 来启动项目时,虽然可以在这些入口文件里添加其 他的逻辑代码,但并不 getDataFromApi(); think.config(key, data); }) 可以通过 think.beforeStartServer 注册多个需要执行的逻辑,如果逻辑函数中有异步的操作, 需要返回 Promise。 系统会等待注册的多个逻辑执行完成后才启动服务,当然也不会无限制的等待,会有个超时时 间。超时时间可以通过配置 startServerTimeout 修改,默认为0 码力 | 129 页 | 2.12 MB | 1 年前3Node.js在YunOS中的最佳实践
js Queue uv_async_t YunOS对Looper改造的实践 1. 系统任务与Node.js的IO任 务融合,两者地位基本平等, 系统任务优先级略高 2. 系统任务通过异步事件接 入Node.js的队列中 12 SAB + Worker机制的实践 YunOS对多任务的需求: 1. 安全沙箱对多进程的限制(不能使用多进程) 2. 实际应用以计算为主(CPU密集),对多任务并行有需求0 码力 | 20 页 | 1.37 MB | 1 年前3Node 的设计错误
Promise 是 async/await 的必要抽象。 • 在 Node 中统⼀一使⽤用 Promise 可能会加快最终标准化和 async/await 的交付。 • 今天的 Node 的许多异步 API 因此⽽而严重⽼老老化 遗憾:安全性 • V8 本身是⼀一个⾮非常好的安全沙箱。 • 如果我对如何维护某些应⽤用程序进⾏行行更更多的思考,Node 可能会拥有⼀一些其他任何 语⾔言都⽆无法获得的安全保证。0 码力 | 28 页 | 767.84 KB | 1 年前3
共 9 条
- 1