[英]TypeError: util.promisify is not a function?
我正在嘗試在我的react應用程序中承諾zlib.gunzip
:
const zlib = require('zlib')
const util = require('util')
const gunzipPromisified = util.promisify(zlib.gunzip)
但是我得到這個錯誤:
TypeError:util.promisify不是一個函數
如果我將其放在一個獨立的腳本文件中並通過node
運行它,那會很好。
如果我嘗試:
import zlib from 'zlib'
import util from 'util'
const gunzipPromisified = util.promisify(zlib.gunzip)
我得到了一些更奇特的東西:
TypeError:__WEBPACK_IMPORTED_MODULE_8_util ___ default.a.promisify不是一個函數
我想念什么?
[編輯]我的筆記本電腦上安裝的node.js版本是8.9.1。
[編輯]有人評論說,安裝在我本地開發環境中的node.js與應用程序代碼在瀏覽器中可以訪問的內容無關。 所以現在我的問題是,如何確定我可以在瀏覽器中訪問的API?
我遇到了同樣的問題,它通過將Node更新到高於Node 7的版本來解決。
n latest
在我的情況下,Node 9.2.0是后來添加的。
我在Ionic遇到了同樣的問題。 util promisify對我也不起作用,並且產生了與OP相同的錯誤。 我最終使用了下面復制的這個簡單解決方案 :
const promisify = (fn) => {
return (...args) => {
return new Promise((resolve, reject)=>{
fn(...args, function(err, res){
if(err){
return reject(err);
}
return resolve(res);
})
})
}
}
接着:
const requestPromisified = promisify(request)
當然,當我切換到bluebird的Promise
時,一切正常。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.