相关疑难解决方法(0)

580
推荐指数
10
解决办法
34万
查看次数

函数有效,但是当使用util.promisify()时却没有?

我有一些使用node-bing-api的代码.它是错误的,并且运行完美,但我想将其转换为使用Promises(和await).

我正在使用节点8,和util.promisify.在下面的代码中,Bing.web是常规的err-first代码,并且searchBing是promisified版本.

var findParentDir = require('find-parent-dir'),
    configDir = findParentDir.sync(__dirname, 'config.js'),
    config = require(configDir+'config.js'),
    util = require('util'),
    log = console.log.bind(console),
    Bing = require('node-bing-api')({ accKey: config.cognitiveServices.bingSearch }),
    searchBing = util.promisify(Bing.web);

var start = async function(){
    // This fails
    // var searchResultsRaw = await searchBing('windows', {top: 5})
    // log(searchResultsRaw)

    // This works
    Bing.web('windows', {top: 5}, function(err, searchResultsRaw){
        log(searchResultsRaw)
    })
};

start();
Run Code Online (Sandbox Code Playgroud)

promisified版本失败了:

(node:1752) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): TypeError: …
Run Code Online (Sandbox Code Playgroud)

node.js promise async-await

15
推荐指数
1
解决办法
3584
查看次数

标签 统计

async-await ×1

bind ×1

function ×1

javascript ×1

node.js ×1

promise ×1