trevor
trevor

Reputation: 1

i want get json from this promise, how can i do that

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

Answers (1)

Felix Kling
Felix Kling

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

Related Questions