NPM酷庫 q 增強版Promise

2021-09-14 03:21:39 字數 579 閱讀 4547

npm酷庫,每天兩分鐘,了解乙個流行npm庫。

昨天我們了解了如何使用promise管理非同步任務,但是es2015標準的promise物件實現的介面非常有限,只包含promise.all()promise.race()promise.then()promise.catch(),這些介面在實際使用中是不夠用的,比如我們沒辦法直接判斷乙個promise物件是否已經完成。

q是乙個promise實現庫,並且相對於es2015標準,q提供了很多實用的工具函式。下面我們就列舉一些非常有用的函式:

promise最終完成後呼叫,無論是否失敗,注意,es2016 標準的promise存在此函式,但是edge等一些瀏覽器並未實現此函式。

非同步處理超時設定

延時執行

比如promise.get(propertyname)的作用是獲取promise返回物件的某個屬性,作用等同於:

promise.then(function (o) );
這種函式有很多,具體可以檢視api文件。

增強版字典DictionaryEx

public class dictionaryex idictionary 初始化 dictionaryex key不存在時返回defaultvalue 預設值 比較鍵時要使用物件,如果為null則使用預設比較方法 public dictionaryex tvalue defaultvalue,ie...

IntelliJ IDEA 便攜增強版

idea 全稱 intellij idea,是j a語言開發的整合環境,intellij在業界被公認為最好的j a開發工具之一,尤其在智慧型 助手 自動提示 重構 j2ee支援 各類版本工具 git svn github等 junit cvs整合 分析 創新的gui設計等方面的功能可以說是超常的。i...

python實現增強版ping

由於定位網路問題時,經常要ping,並且有時候要長時間同時ping多位址,系統自帶的ping不夠用 所以自己用python實現乙個,用py2exe編譯為exe程式後可以方便發布。import time import string import thread import os ping ip tim...