promises-aplus-tests 測試手寫promise過程


// 安裝promise測試插件
npm i promises-aplus-tests -D
// package.json文件配置下腳本執行部分
"scripts": {
    "test": "promises-aplus-tests promiseKB.js(填入自己開發的promise的名字)"
  },
class PromiseKB{
      ......
}
//在手寫的promiseXXX.js添加以下代碼,其中改成自己定義promise.js名字
PromiseKB.defer = PromiseKB.deferred = function(){
  let dfd = {};
  dfd.promise = new PromiseKB((resolve, reject)=>{
      dfd.resolve = resolve;
      dfd.reject = reject;
  });
  return dfd;
}
module.exports =  PromiseKB
//最后測試文件
npm run test
//會打印出大量的信息,終端控制台會裝不下->只顯示一部分:解決--需要看哪一部分 Ctrl+C 打斷程序執行,先解決有部分再不斷后移

對測試不通過項,可以通過以下鏈接查詢Promises/A+

中文版:https://juejin.cn/post/6844903767654023182

英文版:https://promisesaplus.com/

--------------------------實測挑戰-------------------------------



以下就是個人遇到以下測試未通過問題,及原因追查

  • fulfilled after a delay:包裹setTimeOut即可

    if(this.status === 'pending'){ 
          this.onfullfilled.push(()=>{ 
                setTimeout(()=>{ 
                      var p = onFulfilledThen(this.value); 
                      p instanceof PromiseKB ? p.then(resolve,reject) : resolve(p) 
    }) }) 
    
      </li>
      <li>
        <p></p>
      </li>
      <li>
        <p></p>
      </li>
    </ul>
    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM