Reputation: 1
var url = "https://www.metaweather.com/api/location/2471217/#";
let promise = new Promise((resolve, reject) => {
fetch(url)
.then(function (response) {
return response.json();
}
)
.then(function (json) {
resolve(JSON.stringify(json))
})
})
promise.then((message) => {
console.log(message)
}).catch((message) => {
console.log(message)
})
I want to get json as string. thank you guys
p.s I am a newbie for JS
Upvotes: 0
Views: 59
Reputation: 816462
fetch
already returns a promise. There is no need to use the Promise
constructor. If you want to get the response as text then you can just call response.text()
, not response.json()
:
fetch(url)
.then(response => response.text())
.then(message => console.log(message))
.catch(error => console.error(error))
Upvotes: 3