您正在尝试在nodeJS中使用带有promise的请求模块。
这是我的剧本
require('promise');
var request = require('request');
const requestget = function (url) {
return new Promise((resolve, reject) {
request(url, function (error, response, body) {
if (!error && response.statusCode == 200) {
resolve(body);
} else {
reject(error);
}
});
});
}
requestget('http://www.modulus.io').then(console.log);
但是我收到了以下错误。
/home/xyz/reques.js:14
return new Promise((resolve, reject) {
^
SyntaxError: Unexpected token {
at Module._compile (module.js:439:25)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:906:3
我真的不知道这个剧本中的错误,任何人都可以帮助我。
答案 0 :(得分:5)
在这一行上,您需要确保定义一个函数。您可以使用箭头函数执行此操作:
return new Promise((resolve, reject) => {
箭头函数的语法为(param1, param2) => {function body}
,与function(param1, param2) {function body}
相同。您可以阅读有关他们的更多信息here。
答案 1 :(得分:2)
您正在尝试使用不带箭头的箭头功能。
require('promise');
var request = require('request');
const requestget = function (url) {
//Add the arrow on the below line
return new Promise((resolve, reject) => {
request(url, function (error, response, body) {
if (!error && response.statusCode == 200) {
resolve(body);
} else {
reject(error);
}
});
});
}
requestget('http://www.modulus.io').then(console.log);