2
を終了する約束を待っていない待つ:非同期は/私はこのポストルートを持っている
app.post("/new", async (req, res) => {
const Lob = require("lob")({ apiKey: keys.LOB_API });
let toAddress = await lobFuncs.toAddress(req.body.addrLine1, Lob);
console.log("test");
});
toAddress()関数は次のようになります。
toAddress: async (address, Lob) => {
await this.parseGoogleCiv(address, obj => {
console.log(obj);
});
},
parseGoogleCiv: async (address, callback) => {
address = address
.trim()
.split(" ")
.join("%20");
let URL = "some long URL"
await request(URL, function(err, res) {
if (err) {
console.log(err);
} else {
let body = JSON.parse(res.body);
callback(body);
}
});
}
しかし、これは私の出力である...
test
body
"test"出力は、本体出力の後に来る必要があります。
質問: ここでは何が起こっていますか?私の知る限りでは、私は約束が間違っていないので、私はすべての非同期/正しく見ることを待っていると思う。何か案は?
末尾に 'リクエスト()'メソッドがコールバックを取る、それはそう、それは戻りません。それは基本的に効果がない前に '約束する'と約束します。 – Sirko
そこには '要求'の約束されたバージョンがあります。それを使用して、そのコールバックを殺す... –
あなたの応答に感謝! – Phillip