JavaScript承诺重build意想不到的令牌错误

您好,我试图使用nodeJS承诺的请求模块。

这是我的脚本

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 

我真的不知道这个剧本里有什么问题,任何人都可以帮助我。

在这一行上,你需要确定你正在定义一个函数。 你可以使用箭头函数来做到这一点,例如:

 return new Promise((resolve, reject) => { 

箭头函数的语法(param1, param2) => {function body} ,这与说function(param1, param2) {function body} 。 你可以在这里阅读更多。

您正尝试使用没有箭头的箭头function。

 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);