簡體   English   中英

異步等待默認行為

[英]Async Await Default behaviour

如果您具有異步功能並具有await語句。 它在Mozilla文檔中指出:“如果await運算符后面的表達式的值不是Promise,它將轉換為已解析的Promise。” 無論如何,有沒有要重寫的方法,即從表達式或空對象返回false來表示所有未按計划進行-還是必須將stringify功能包裝在promise語句中?

async function sortOutString(string) {

const result = await stringify(string);
return result;

}

function stringify(str) = {

try {
    const obj = JSON.parse(str);
    return obj;

} catch (e) {
    return e;
}
};

不,您不必使用任何Promise,也不必使用async / await 您似乎在尋找

function sortOutString(string) {
    try {
        const result = stringify(string);
        return result;
    } catch(err) {
        return false; // or an empty object, or whatever you want
//             ^^^^^^    to indicate that not all did go as planned
    }
}

function stringify(str) {
    const obj = JSON.parse(str);
    return obj;
}

以前,您正在返回err對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM