Hi am trying to use request module with promise in nodeJS.
Here is my Script
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('').then(console.log);
but am getting the following error.
/home/xyz/reques.js:14
return new Promise((resolve, reject) {
^
SyntaxError: Unexpected token {
at Module._pile (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
I really don't know what's wrong in this script any one can help me out.
Hi am trying to use request module with promise in nodeJS.
Here is my Script
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);
but am getting the following error.
/home/xyz/reques.js:14
return new Promise((resolve, reject) {
^
SyntaxError: Unexpected token {
at Module._pile (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
I really don't know what's wrong in this script any one can help me out.
Share Improve this question edited Apr 17, 2018 at 1:17 Cœur 38.8k26 gold badges205 silver badges277 bronze badges asked Mar 29, 2017 at 5:56 sakthivelsakthivel 712 silver badges10 bronze badges 2-
2
choose between
function (resolve, reject) {
or(resolve, reject) => {
– Jaromanda X Commented Mar 29, 2017 at 6:01 - This worked for me. Thanks. I was using a very early version of Node. Arrow functions landed in version ~8. – PiggyMacPigPig Commented Mar 27, 2018 at 16:00
2 Answers
Reset to default 5On this line, you need to make sure you are defining a function. You can do this using arrow functions like so:
return new Promise((resolve, reject) => {
Arrow functions have the syntax (param1, param2) => {function body}
, which is the same thing as saying function(param1, param2) {function body}
. You can read more about them here.
You are trying to use arrow functions without arrows.
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);