Ich habe Schwierigkeiten bekommen und eine Antwort von den folgenden Funktionen in einer Kette zu bewegen. Die Werte existieren weiter oben, aber ich versuche sie zu übergeben, aber die Ausgabe endet immer leer.Javascript async/Antwort Antwort nicht bereit
Ich bin neu in Async/erwarten in Nodejs, aber angenommen, sie mussten nicht gelöst werden oder mit einem Versprechen.
let output = {
keywords: [],
steps: [],
twitter: []
}
async function requestGoogle (output) {
const GoogleResponse = await (
new Promise((resolve, reject) => {
const loc = utilities.checkOrigin()
googleMaps.directions({
origin: loc.origin,
destination: loc.destination
}, (error, response) => {
if (error) resolve(error)
resolve({
response
})
})
})
)
return GoogleResponse
}
async function requestTwitter (output) {
try {
const loc = utilities.checkOrigin()
const twitterParams = {
count: details.twitter.count,
geocode: loc.lat + loc.long + details.radius,
lang: details.lang,
result_type: 'recent'
}
await output.keywords.map(keyword => {
TwitterClient.get('search/tweets', {q: 'query'}, (error, tweets, response) => {
if (error) console.log(error)
tweets.statuses.map(tweet => {
output['twitter'].push({
text: tweet.text
})
})
})
})
return output
} catch (error) {
console.error('++ requestTwitter flow', error)
}
}
flow.commuteCheck =() => {
return requestGoogle(output)
.then(requestTwitter(output))
.then(console.log(output))
}
Die Antwort ist unmodifizierten und leer:
{ keywords: [], steps: [], twitter: [] }
* Way * zu viel Code. Reduziere das Problem auf eine [mcve], die das Problem demonstriert, idealerweise ein ** runnable ** mit Stack Snippets (der '[<>]' Werkzeugleiste; [hier geht's] (https: //meta.stackoverflow). com/questions/358992/ive-wurde-to-do-a-runnable-Beispiel-mit-Stack-Snippets-how-do-i-do-tha)). –