lie

中文文档
3.3.0发布于 2018/03/06MITTypeScriptCommonJS近 30 天下载 2.4亿

A basic but performant promise implementation

原始使用文档
文档目录3 节
  1. Usage
  2. API
  3. Unhandled Rejections

lie

Promises/A+ logo [![Build Status](https://travis-ci.org/calvinmetcalf/lie.svg)](https://travis-ci.org/calvinmetcalf/lie)

lie is a small, performant promise library implementing the Promises/A+ spec (Version 1.1).

Originally a fork of Ruben Verborgh's promiscuous, with version 2.6 it became a fork of ayepromise by Chris Burgmer.

npm install lie

var Promise = require('lie');
// or use the pollyfill
require('lie/polyfill');

Usage

Either use it with browserify (recommended) or grab one of the files from the dist folder:

  • lie.js/lie.min.js exposes 'Promise' either as a UMD module or from the global scope, depending on if a CJS or AMD loader is available.
  • lie.polyfill.js/lie.polyfill.min.js adds 'Promise' to the global scope only if it's not already defined (not a UMD).

API

Implements the standard ES6 api:

new Promise(function(resolve, reject){
    doSomething(function(err, result) {
        if (err) {
            reject(err);
        } else {
            resolve(result);
        }
    });
}).then(function (value) {
    //on success
}, function (reason) {
    //on error
}).catch(function (reason) {
    //shortcut for error handling
});

Promise.all([
    //array of promises or values
]).then(function ([/* array of results */]));

Promise.race([
    //array of promises or values
]);
// either resolves or rejects depending on the first value to do so

Unhandled Rejections

In Node.js, lie emits an unhandledRejection event when a rejected promise isn't caught, in line with how io.js does it. This allows it to act as a promise shim in both Node.js and the browser.

版本与发布记录

lie 共发布 47 个版本,首次发布于 2013/08/16;过去 12 个月发布了 0 个版本。

版本发布日期距今
3.3.0latest2018/03/068 年前
3.2.02018/01/308 年前
3.1.12017/02/099 年前
3.1.02016/07/2810 年前
3.0.42016/05/0110 年前
3.0.32016/05/0110 年前

关于 lie 的常见问题

lie 是什么?

A basic but performant promise implementation

如何安装 lie?

在项目目录运行 npm install lie,或使用 pnpm add / yarn add / bun add。

lie 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

lie 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

lie 可以商用吗?

lie 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

lie 的下载量有多少?

根据 npm 官方下载统计,lie 在 2026/10/05 – 2026/11/03 这 30 天内被下载 239,017,647 次,日均约 7,967,255 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

lie 还在维护吗?

最新版本 3.3.0 发布于 2018/03/06(8 年前);至今共发布 47 个版本,其中过去 12 个月发布了 0 个;首次发布于 2013/08/16。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。