最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

异步模块功能不起作用

运维笔记admin9浏览0评论

异步模块功能不起作用

异步模块功能不起作用

我是node.js的新手,正在面临await / async函数的问题。这是我的文件:

main.js

var fd = require('fdmodule');
let r = await fd.matches();
console.log('r: ' + r);

fdmodule.js

const baseUrl = '/';
const token = '*********';
const https = require('https');

exports.matches = async function () { 
    return new Promise(function (resolve, reject) {   
        let x = await callUrl(baseUrl + 'matches');
        console.log('x: ' + x);
        resolve(x);
    });
};

async function callUrl(url) {
    return new Promise(function (resolve, reject) {
        var req = require('request');
        var header = { headers: { 'X-Auth-Token': token } };
        req(url, header, function (error, response, body) {
            if (!error && response.statusCode == 200) {
                resolve(body);
            } else {
                reject(error);
            }
        });
    });
}

这是我的输出:

let r = await fd.matches();
        ^^^^^

SyntaxError: await is only valid in async function

当我删除此行的await并将功能更改为]时>

exports.matches = function () {     
    let x = await callUrl(baseUrl + 'matches');
    console.log('x: ' + x);
    return x;    
};

我得到了console.log('x: ' + x);结果,但只有在console.log('r: ' + r);明显为空之后。

我在做什么错?

我是node.js的新手,正在面临await / async函数的问题。这是我的文件:main.js var fd = require('fdmodule');让r =等待fd.matches(); console.log('r:'+ r); fdmodule.js const ...

回答如下:

我整理出来。这是文件:

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论