相关疑难解决方法(0)

在Node.JS中使用async/await的正确请求

在我的程序中async,我从另一个API模块调用我的函数:

var info = await api.MyRequest(value);
Run Code Online (Sandbox Code Playgroud)

模块代码:

var request = require("request")

module.exports.MyRequest = async function MyRequest(value) {
    var options = {
        uri: "http://some_url",
        method: "GET",
        qs: {  // Query string like ?key=value&...
            key : value
        },
        json: true
    }

    try {
        var result = await request(options);
        return result;
    } catch (err) {
        console.error(err);
    }
}
Run Code Online (Sandbox Code Playgroud)

执行立即返回,但是result,并因此info包含请求对象和请求体- info.bodykey=value&...,不需要响应体.

我做错了什么?怎么修?什么是正确的request用法async,或者它只适用于这里提到的promises:为什么await不适用于节点请求模块?下面的文章提到了:在Node.js中掌握Async Await.

rest asynchronous request node.js async-await

27
推荐指数
5
解决办法
4万
查看次数

如何将onload promise转换为Async/Await

我有以下的打字稿,我想用async/ await上.但我似乎无法在脑海中解决这个问题.

private getWorkbookFromFile2(excelFile: File): Promise<xlsx.IWorkBook> {
    var loadedPromise = new Promise<xlsx.IWorkBook>((resolve, reject) => {
        var reader = new FileReader();

        reader.onload = (event: any) => {
            var data = event.target.result;

            var workbook = xlsx.read(data, { type: 'binary' });

            console.log(workbook.SheetNames);
            resolve(workbook);
        };
        reader.readAsBinaryString(excelFile);
    });

    return loadedPromise;
}
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我这个Typescript承诺如何转换为使用async/await

promise async-await typescript es6-promise

10
推荐指数
1
解决办法
7609
查看次数